二叉搜尋樹的後序遍歷序列

2021-09-14 06:13:58 字數 705 閱讀 2183

題目

劍指offer 二叉搜尋樹的後序遍歷序列

輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。

總結

找出第乙個大於根的節點,然後後面的節點都是小於根的,如此遞迴判斷。

class

solution

if(len ==1)

return

verifysubofbst

(sequence,

0, len-1)

;}public

boolean

verifysubofbst

(int

sequence,

int start,

int end)

int i;

for(i = start; i < end; i++

)// i後面的應該比end要大

for(

int j = i; j < end; j++)}

return

verifysubofbst

(sequence, start, i-1)

&&verifysubofbst

(sequence, i, end-1)

;}}

二叉搜尋樹的後序遍歷序列

題目 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是返回true,否則返回false。假設輸入的陣列的任意兩個數字都不相同。解答 二叉搜尋樹後序遍歷最後訪問的是根節點,根據根節點將陣列分成兩部分,前面一部分即左子樹值小於根節點值,後面一部分即右子樹的值大於根節點 再遞迴的檢查...

二叉搜尋樹的後序遍歷序列

輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。include using namespace std bool verifysquenceofbst int sequence,int length int j...

二叉搜尋樹的後序遍歷序列

輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。class solution 在二叉搜尋樹中右子樹的結點大於根結點 int j i for j0 left verifysquenceofbst lefttree...