leetcode 102 二叉樹的層次遍歷

2021-10-02 09:04:28 字數 1132 閱讀 6492

題目:

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

例子:

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

3/ \

9 20

/ \15 7

返回其層次遍歷結果:

[[3],

[9,20],

[15,7]

]

題目分析

層次遍歷

按順序儲存每個結點 -->佇列(先進先出)!

思路分析 變數

作用queuenow

儲存現在遍歷的層的所有結點

queuenext

儲存要遍歷的下一層的所有結點

treenode* temp

當前遍歷的結點

vector layer

當前層的結點資訊

過程:

設定兩個佇列nownext

now 初始化為根結點

當 now 或 next 為非空

now非空

遍歷now

now中結點的孩子結點 ==> 儲存入next中

now中的結點儲存入 layer

now如果為空

遍歷next (即下一層)

next中結點的孩子結點 ==> 儲存入now中

next中的結點儲存入 layer

layer儲存入ans

class solution ;

queuenow};

queuenext;

vector> ans;

while (!now.empty()||!next.empty())

}else

}ans.push_back(layer);

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

LeetCode 102 二叉樹的層次遍歷

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