輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。
二叉搜尋樹(值):左子樹 < 根 < 右子樹
下圖為一二叉搜尋樹例子,滿足左子樹節點值《根節點的值《右子樹節點的值。
去部落格設定頁面,選擇一款你喜歡的**片高亮樣式,下面展示同樣高亮的**片
.
public
class
verifysequenceofbst
if(sequence.length==1)
return
judge
(sequence,
0,sequence.length-1)
;}public boolean judge
(int[
] sequence,int start,int root)
int i=start;
while
(i)for
(int j=i;j
return
judge
(sequence,start,i-1)
&&judge
(sequence,i,root-1)
;}public
static
void
main
(string[
] args)
;//bst後序遍歷
verifysequenceofbst test=
newverifysequenceofbst()
; boolean is=test.
verifysequence
(a);
system.out.
println
(is);}
}class
solution
public boolean recur
(int[
] postorder,int i,int j)
int p=i;
while
(postorder[p]
) int m=p;
while
(postorder[p]
>postorder[j]
)return p==j&&
recur
(postorder,i,m-1)
&&recur
(postorder,m,j-1);}}
leetcode練習 145 二叉樹的後序遍歷
給定乙個二叉樹,返回它的 後序 遍歷。示例 輸入 1,null,2,3 12 3輸出 3,2,1 二叉樹的後序遍歷有個很奇怪的特點,就是通過對二叉樹使用棧進行層序遍歷,可以恰好得到乙個後序遍歷的結果。class solution if t right reverse res.begin res.en...
演算法練習之二叉樹的最大深度,二叉樹的層次遍歷 II
1.二叉樹的最大深度 給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最大深度 3 j a definition for a bin...
演算法篇 二叉搜尋樹
在前端的工作當中,二叉搜尋樹不怎麼常見,雖然沒有快排 冒泡 去重 二分 希爾等演算法常見,但是它的作用,在某些特定的場景下,是非常重要的。目前es6的使用場景比較多,所以我準備能用es6的地方就用es6去實現。複製 上圖是我從網上找的,最主要是讓大家看一下,樹長啥樣。在這裡簡單的介紹一下有關二叉搜尋...