給出一棵二叉樹,返回其節點值的鋸齒形層次遍歷(先從左往右,下一層再從右往左,層與層之間交替進行)
您在真實的面試中是否遇到過這個題?
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 解題思路 鋸齒形層次遍歷,又不單單是層次遍歷,一次從...