牛客網刷題 二叉樹的之字形層序遍歷

2021-10-19 07:49:53 字數 762 閱讀 9553

給定乙個二叉樹,返回該二叉樹的之字形層序遍歷,(第一層從左向右,下一層從右向左,一直這樣交替)

輸入描述:

輸入一棵樹

輸出描述:

輸出樹的之字形遍歷

輸入

輸出

[[3],

[20,9],

[15,7]

]

本地很明顯是一道廣度優先搜尋(bfs)的題目,廣度優先搜尋一般會借助佇列這種資料結構,遍歷每一層的節點,然後依次加入左節點和右節點,通過flag判斷是否需要做結果的反轉。

廣度優先搜尋

// 思路1

public

class

solutionif(

!flag)

flag =

!flag;

result.

add(list);}

return result;

}}

時間複雜度分析:

o(m):廣度優先搜尋需要遍歷所有的節點。

空間複雜度分析:

o(1):除了結果,沒有使用額外的儲存空間。

小夥伴如果想測試的話,可以直接到牛客網這個鏈結做測試

二叉樹的之字形層序遍歷-牛客網

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

給定乙個二叉樹,返回該二叉樹層序遍歷的結果,從左到右,一層一層地遍歷 輸入 給定的二叉樹是,輸出 3 9,20 15,7 廣度優先搜尋 ps 借助佇列 二叉樹的層級遍歷可以通過廣度優先搜尋的方式實現,廣度優先搜尋可以借助佇列實現。思路1 歸併排序 public class solution writ...

牛客刷題二叉樹之按之字形順序列印二叉樹

請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。struct treenode class solution if ptemp right if temp1.size 0 while stk2.empty...

刷題之二叉樹之字形變換

題目描述 給定乙個二叉樹,返回該二叉樹的之字形層序遍歷,第一層從左向右,下一層從右向左,一直這樣交替 例如 給定的二叉樹是,該二叉樹之字形層序遍歷的結果是 3 20,9 15,7 解題思路 二叉樹的層序遍歷要用佇列,二叉樹的前中後序遍歷要用堆疊,當然也可以用遞迴。回歸本題,因為是要求一層從左到右一層...