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

2022-07-13 02:18:08 字數 641 閱讀 9150

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

二叉搜尋樹:(若有)左子樹全部結點小於根節點,(若有)右子樹全部結點大於根節點。

因此若乙個陣列為二叉搜尋樹的後序遍歷,則最後乙個元素為根節點,前面的元素以某處分開前半部分全部小於此數,後半部分全部大於此數,且這兩個部分又分別為乙個二叉搜尋樹。

然而因為記憶體限制,不能直接遞迴呼叫給出的函式,而是新建乙個有傳值座標的遞迴函式。

還要注意,二叉搜尋樹不能為空。

class

solution

bool verifysquenceofbst(vector sequence, int beginpos, int

endpos)

}if (!rightisright) return

false

;

return verifysquenceofbst(sequence, beginpos, rightpos - 1) && verifysquenceofbst(sequence, rightpos, endpos - 1

); }

};

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

輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。author zy date 2017年10月13日 下午9 34 21 decription 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如...

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

時間限制 1秒 空間限制 32768k 熱度指數 524747 本題知識點 棧 樹輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。這兩天狀態不行,沒多大刷題的動力。菜還不想動,說的大概就是我了。遞迴 大佬的思路...

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

題目描述 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。簡單思路 二叉搜尋樹 1.左孩子 根 右孩子 2.bst的左孩子和右孩子都是bst 發現對於每一棵子樹,它的根結點總是對應該子樹的後序序列的最後乙個數 ...