給定乙個二叉樹,返回該二叉樹層序遍歷的結果,(從左到右,一層一層地遍歷)
輸入給定的二叉樹是,
輸出廣度優先搜尋【ps:借助佇列】[[3],
[9,20],
[15,7]
]
二叉樹的層級遍歷可以通過廣度優先搜尋的方式實現,廣度優先搜尋可以借助佇列實現。
// 思路1:歸併排序
public
class
solution
// write code here
queue
queue =
newlinkedlist
<
>()
; queue.
add(root)
; arraylist
> result =
newarraylist
<
>()
;while
(!queue.
isempty()
) result.
add(temp);}
return result;
}}
時間複雜度分析:o(n):遍歷二叉樹的所有節點
空間複雜度分析:小夥伴如果想測試的話,可以直接到牛客網這個鏈結做測試o(n):這裡主要是用於儲存鍊錶節點的佇列的空間
求二叉樹的層序遍歷-牛客網
二叉樹遍歷的相關題目:
牛客網刷題-二叉樹的之字形層序遍歷
牛客網刷題-實現二叉樹先序,中序和後序遍歷
牛客網刷題-求二叉樹的層序遍歷
牛客網刷題 二叉樹的之字形層序遍歷
給定乙個二叉樹,返回該二叉樹的之字形層序遍歷,第一層從左向右,下一層從右向左,一直這樣交替 輸入描述 輸入一棵樹 輸出描述 輸出樹的之字形遍歷 輸入 輸出 3 20,9 15,7 本地很明顯是一道廣度優先搜尋 bfs 的題目,廣度優先搜尋一般會借助佇列這種資料結構,遍歷每一層的節點,然後依次加入左節...
二叉樹層序遍歷 求二叉樹的層序遍歷
給定乙個二叉樹,返回該二叉樹層序遍歷的結果,從左到右,一層一層地遍歷 例如 給定的二叉樹是,該二叉樹層序遍歷的結果是 3 9,20 15,7 示例1 輸入 返回值 1 2 示例2輸入 返回值 1 2,3 4,5 解題思路 重點是如何把在一層的節點放到一起,設定乙個引數專門放一層的節點 class t...
牛客網刷題 實現二叉樹先序,中序和後序遍歷
分別按照二叉樹先序,中序和後序列印所有的節點。輸入描述 輸入一棵樹 輸出描述 輸出遍歷的二維陣列 輸入 輸出 1,2,3 2,1,3 2,3,1 本題思路主要是通過遞迴實現對二叉樹的遍歷。通過遞迴,以及新增值的順序控制結果是那種方式的遍歷。public class solution public v...