LeetCode 102 二叉樹的層次遍歷

2021-09-17 02:09:09 字數 774 閱讀 5686

給定乙個二叉樹,返回其按層次遍歷的節點值。 (即逐層地,從左到右訪問所有節點)。

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

3

/ \9 20

/ \

15 7

返回其層次遍歷結果:

[

[3],

[9,20],

[15,7]

]

此題需要將各個層的節點分別儲存到不同的陣列中。所以在while迴圈中,加了乙個for迴圈,迴圈次數是當前層的節點個數,這樣雖然在for迴圈中不斷的在佇列尾部加入當前層節點的孩子節點,但是由於for迴圈限定了彈出棧的次數為當前層節點的個數,所以在for迴圈結束時,out中正好儲存了當前層的所有節點,不多不少,同時棧中也只有下一層的所有節點,不多不少。然後在將out儲存到ans中之後,進入下一次while迴圈,重複上述過程。最後當某一層不存在非空節點,即棧為空時,退出while迴圈。返回ans。

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution ;

vector> ans;

queues;

s.push(root);

while(!s.empty())

ans.push_back(out);

}return ans;

}};

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 解決方法 廣度優先 層次 遍歷,使用佇列實現 具體思路 在訪問了乙個節點之後...

LeetCode102 二叉樹的層次遍歷

給定乙個二叉樹,返回其按層次遍歷的節點值。即逐層地,從左到右訪問所有節點 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回其層次遍歷結果 3 9,20 15,7 題解 這題就是傳統的層次遍歷,需要注意的一點就是每層到數字到儲存到乙個單獨的list裡面。層次遍歷...