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

2021-10-24 16:21:50 字數 863 閱讀 5116

輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。

如果是則返回true,否則返回false。

假設輸入的陣列的任意兩個數字都互不相同。

樣例

輸入:[4, 8, 6, 12, 16, 14, 10]

輸出:true

時間複雜度o(n)

class

solution

if(sequence.length ==0)

int length = sequence.length;

int root = sequence[length-1]

;int i =0;

for(

;i < length -

1;i++)}

int[

] left =

newint

[i];

for(

int k =

0;k < i;k++

)int j = i;

for(

;j < length-

1;j++)}

int[

] right =

newint

[j-i]

;for

(int k =

0;k < j-i;k++

)boolean left_bool =

true;if

(i >0)

boolean right_bool =

true;if

(j >0)

return left_bool&&right_bool;

}}

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

題目 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是返回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...