LeetCode102 二叉樹的層次遍歷

2021-10-03 05:23:00 字數 590 閱讀 1042

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

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

9 20

/ 15 7

返回其層次遍歷結果:

[[3],

[9,20],

[15,7]

]首先,可以建立乙個 queue(佇列);

然後,把根節點放入,這時候找根節點的左右兩個子節點,此時去掉根節點,即 queue 裡的元素就是下一層的所有節點;

其次,用乙個 for 迴圈遍歷它們,然後存到乙個一維向量裡,遍歷完之後再把這個一維向量存到二維向量裡;

最後,以此類推,可以完成層序遍歷。

class

solution

; vectorint>> res;

queue> q};

while

(!q.

empty()

) res.

push_back

(onelevel);}

return res;}}

;

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迴圈,迴圈次數...