leetcode之廣度優先搜尋

2021-10-24 12:54:15 字數 2466 閱讀 5068

在二叉樹中,根節點位於深度 0 處,每個深度為 k 的節點的子節點位於深度 k+1 處。

如果二叉樹的兩個節點深度相同,但父節點不同,則它們是一對堂兄弟節點。

我們給出了具有唯一值的二叉樹的根節點 root,以及樹中兩個不同節點的值 x 和 y。

只有與值 x 和 y 對應的節點是堂兄弟節點時,才返回 true。否則,返回 false。

示例 1:

輸入:root = [1,2,3,4], x = 4, y = 3

輸出:false

示例 2:

輸入:root = [1,2,3,null,4,null,5], x = 5, y = 4

輸出:true

示例 3:

輸入:root = [1,2,3,null,4], x = 2, y = 3

輸出:false

/**

* definition for a binary tree node.

* public class treenode

* treenode(int val)

* treenode(int val, treenode left, treenode right)

* }*/class

solution

if(temp.left.val==y)}if

(temp.right!=null)

if(temp.right.val==y)}if

(xnode!=null&&ynode!=null)

else

if(xnode==null&&ynode==null)

else

if(size==0)

}}return

false;}

}

給定乙個二叉樹,找出其最小深度。

最小深度是從根節點到最近葉子節點的最短路徑上的節點數量。

說明: 葉子節點是指沒有子節點的節點。

示例:給定二叉樹 [3,9,20,null,null,15,7],

返回它的最小深度 2.

/**

* definition for a binary tree node.

* public class treenode

* }*/class

solution

if(temp.right!=null)

} count++;}

return count;

}}

給定乙個二叉樹,檢查它是否是映象對稱的。

例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。

但是這個 [1,2,2,null,3,null,3] 則不是映象對稱的:

思路:遞迴實現

/**

* definition for a binary tree node.

* public class treenode

* }*/class

solution

boolean

balance

(treenode p,treenode q)

}

思路:非遞迴實現

/**

* definition for a binary tree node.

* public class treenode

* }*/class

solution

boolean

balance

(treenode p,treenode q)

return

true;}

}

從上到下按層列印二叉樹,同一層的節點按從左到右的順序列印,每一層列印到一行。

例如:給定二叉樹: [3,9,20,null,null,15,7],

返回其層次遍歷結果:

[[3],

[9,20],

[15,7]

]

/**

* definition for a binary tree node.

* public class treenode

* }*/class

solution

if(temp.right!=null)

} lists.

add(list);}

return lists;

}}

演算法之廣度優先搜尋

查詢最短路徑 廣度優先搜尋可回答兩類問題 第一類問題 從節點a出發,有前往節點b的路徑嗎?第二類問題 從節點a出發,前往節點b的哪條路徑最短?資料結構 人際關係圖 實現 map graph new hashmap graph.put 我 arrays.aslist 孫 吳 李 graph.put 孫...

LeetCode中BFS(廣度優先搜尋)

如下所示,廣度優先演算法會優先遍歷每一層 a b c d e利用佇列可實現廣度優先遍歷 127.單詞接龍 給定兩個單詞 beginword 和 endword 和乙個字典,找到從 beginword 到 endword 的最短轉換序列的長度。轉換需遵循如下規則 每次轉換只能改變乙個字母。轉換過程中的...

搜尋 廣度優先搜尋

廣度優先搜尋一層一層地進行遍歷,每層遍歷都是以上一層遍歷的結果作為起點,遍歷乙個距離能訪問到的所有節點。需要注意的是,遍歷過的節點不能再次被遍歷。class solution,int shortestpathbinarymatrix vectorint grid length return 1 cl...