演算法練習篇之 二叉搜尋樹的後序遍歷序列

2021-09-28 08:07:51 字數 1347 閱讀 5600

輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出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去實現。複製 上圖是我從網上找的,最主要是讓大家看一下,樹長啥樣。在這裡簡單的介紹一下有關二叉搜尋...