leetcode 102 二叉樹的層序遍歷

2021-10-07 02:57:02 字數 768 閱讀 5129

這個題用廣搜即可

可以通過a,b,i三個變數來判斷是否讀完了一層

a是當前讀的層有多少個節點,初始值為1,就是根節點

b是接下來的一層有多少個節點,初始值為0

i是目前讀了這一層多少節點,初始值為0

每讀乙個節點i++,當節點的子節點不是空時、入隊b++、並把子節點的值放入臨時vector中, 當i == a時表示當前層結束

把臨時vector中的資料放入總vector並把a,b,i重新賦值

a = b;

//這一層有b個節點

b =0

;//下一層節點數暫時為0

i =0

;//這一層已經讀了0個節點

if(a >0)

//當下一層不是空時才加入總vector,防止最終加入乙個。即空的vector

v.push_back

(v0)

;v0.

clear()

;

完整**如下:

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

if(r !=

null)if

(i == a)

}return v;}}

;

LeetCode 102 二叉樹的遍歷

給定乙個二叉樹,返回其按層次遍歷的節點值。即逐層地,從左到右訪問所有節點 例如 給定二叉樹 返回其層次遍歷結果 如下 definition for a binary tree node.public class treenode public class solution list res new ...

LeetCode 102 二叉樹的層次遍歷

題目鏈結 題目描述 給定乙個二叉樹,返回其按層次遍歷的節點值。即逐層地,從左到右訪問所有節點 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回其層次遍歷結果 3 9,20 15,7 解決方法 廣度優先 層次 遍歷,使用佇列實現 具體思路 在訪問了乙個節點之後...

LeetCode 102 二叉樹的層次遍歷

給定乙個二叉樹,返回其按層次遍歷的節點值。即逐層地,從左到右訪問所有節點 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回其層次遍歷結果 3 9,20 15,7 此題需要將各個層的節點分別儲存到不同的陣列中。所以在while迴圈中,加了乙個for迴圈,迴圈次數...