leetcode 102 二叉樹的層次遍歷

2022-03-14 03:08:24 字數 471 閱讀 6103

102. 二叉樹的層次遍歷

二叉樹的層次遍歷很簡單,用佇列實現bfs即可。

這裡難點是要區分出每一層的樓層,分別放到對應的陣列裡

實際上在bfs的時候判斷好在什麼時候就進入了下一層即可。

設定乙個標記位,用來標記當前元素是本層的最後乙個元素。顯然,第一層的root只有乙個元素,為第乙個標記。

仔細觀察可以發現,下一層的最後乙個元素為當前佇列中最後乙個元素,把標記更新即可。

class solution 

}return list;

}}

相比普通dfs,僅僅多出幾行**:

treenode flag = root;

listnownumlist = new arraylist<>();

...if (flag == nownode && !queue.isempty())

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