牛客網刷題 求二叉樹的層序遍歷

2021-10-21 12:18:10 字數 1025 閱讀 7891

給定乙個二叉樹,返回該二叉樹層序遍歷的結果,(從左到右,一層一層地遍歷)

輸入

給定的二叉樹是,

輸出

[[3],

[9,20],

[15,7]

]

廣度優先搜尋【ps:借助佇列】

二叉樹的層級遍歷可以通過廣度優先搜尋的方式實現,廣度優先搜尋可以借助佇列實現。

// 思路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...