Leetcode 102 二叉樹的層序遍歷

2021-10-08 18:11:46 字數 932 閱讀 7579

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

示例:

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

3

/ \9 20

/ \

15 7

返回其層次遍歷結果:

[

[3],

[9,20],

[15,7]

]

其實題目上已經寫的很清楚了,二叉樹的層序遍歷,那就直接使用bfs遍歷即可,只不過這個題目需要返回每一層節點的值,那麼需要另外拿乙個容器儲存每一層節點的值。

class solution 

//將下層節點都放入佇列中

list.addall(next);

if(newlist.size()>0)

res.add(newlist);

}return res;

}}

也可以用dfs解決該問題,只要在形參中增加乙個表示層級的變數level,就可以在儲存每一層中所有節點的值中找到相應的容器,並將值加入進去。

class solution 

public void levelcheck(treenode root,integer level,list> res)

//拿到當前level的容器並加入當前節點的值

res.get(level).add(root.val);

levelcheck(root.left,level+1,res);

levelcheck(root.right,level+1,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迴圈,迴圈次數...