lintcode 二叉樹的鋸齒形層次遍歷

2021-08-03 18:55:08 字數 835 閱讀 5992

給出一棵二叉樹,返回其節點值的鋸齒形層次遍歷(先從左往右,下一層再從右往左,層與層之間交替進行) 

您在真實的面試中是否遇到過這個題?

yes

樣例給出一棵二叉樹,

3 / \

9 20

/ \

15 7

返回其鋸齒形的層次遍歷為:

[

[3],

[20,9],

[15,7]

]/**

* definition of treenode:

* public class treenode

* }*/ /*

交叉著走,受上面兩題的影響,考慮用佇列,發現不可以,換成棧,發現只用乙個棧的話也不可以,(乙個棧也能對71%的測試資料)在入棧 和出棧的時候,出現了混亂,考慮用兩個棧。

下面是自己寫的程式,**寫的好燋灼

關鍵點:兩個棧交叉著進,交叉的出*/

public class solution

if (node.right != null)

} else

if (node.left != null) }}

result.add(currlevelresult);

//棧交換

stacktmp= currlevel;

currlevel = nextlevel;

nextlevel = tmp;

//設定為相反

normalorder = !normalorder;

}return result;

}}

Lintcode 二叉樹的鋸齒形層次遍歷

給出一棵二叉樹,返回其節點值的鋸齒形層次遍歷 先從左往右,下一層再從右往左,層與層之間交替進行 yes樣例給出一棵二叉樹,3 9 20 15 7返回其鋸齒形的層次遍歷為 3 20,9 15,7 思路 其實還是層次遍歷的思想借助於輔助佇列,在這裡因為某些層需要逆序輸出,所以設定乙個標記位,並呼叫 容器...

lintcode 二叉樹的鋸齒形層次遍歷 71

給定乙個二叉樹,返回其節點值的鋸齒形層次遍歷。即先從左往右,再從右往左進行下一層遍歷,以此類推,層與層之間交替進行 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回鋸齒形層次遍歷如下 3 20,9 15,7 思路 與樹的層次遍歷類似,只要額外設定乙個判斷是否需...

二叉樹的鋸齒形層次遍歷

給定乙個二叉樹,返回其節點值的鋸齒形層次遍歷。即先從左往右,再從右往左進行下一層遍歷,以此類推,層與層之間交替進行 例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回鋸齒形層次遍歷如下 3 20,9 15,7 解題思路 鋸齒形層次遍歷,又不單單是層次遍歷,一次從...