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

2021-08-09 14:54:20 字數 494 閱讀 7777

題目描述:

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

思路:二叉搜尋樹左子樹節點小於根節點,右子樹節點大於根節點,而後序遍歷結果的最後乙個節點為根節點,由根節點的值和後序遍歷序列,求出根節點的左子樹和右子樹,然後遞迴,分別判斷左右子樹是否滿足條件。

class solution 

int j = i;

//右子樹

for (; j < sequence.size()-1; ++j)

//判斷左子樹

bool left = true;

if (i > 0)

//判斷右子樹

bool right = true;

if (i < sequence.size() - 1)

return (left && right);

}};

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

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