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

2021-10-04 18:13:04 字數 1073 閱讀 7626

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

class

treenode

:def

__init__

(self, x)

: self.val = x

self.left =

none

self.right =

none

class

solution

:def

verifysequenceofbst

(self, sequence)

:if sequence==

:return

false

rootnum=sequence[-1

]del sequence[-1

] index=

none

for i in

range

(len

(sequence)):

if index ==

none

and sequence[i]

>rootnum:

index=i

if index!=

none

and sequence[i]

return

false

if sequence[

:index]==[

]:leftret =

true

else

: leftret=self.verifysequenceofbst(sequence[

:index]

)if sequence[index:]==

: rightret=

true

else

: rightret = self.verifysequenceofbst(sequence[index:])

return leftret and rightret

二叉搜尋樹的前序遍序序列 仿後序

實現功能 給定乙個序列,判斷是否是乙個搜尋樹的前序序列,如果是輸出 yes 反之輸出 no 要解決的問題和題目 類似 注 這裡考慮嚴格的二叉搜尋樹,即左子樹上的值全部小於根,右子樹上的值全部大於根,不存在相等情況,兩兩不同。include include includeusing namespace...

劍指offer系列(23)二叉搜尋樹的後序遍歷序列

題目描述 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。樣例 輸入 輸出 true 思路分析 遞迴思路 已知條件 後序序列最後乙個值為root 二叉搜尋樹左子樹值都比root小,右子樹值都比root大。1 確...

劍指offer 學習筆記 二叉搜尋樹的後序遍歷序列

面試題33 二叉搜尋樹的後序遍歷序列。輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷結果 只要存在乙個二叉搜尋樹的後序遍歷結果為它即可 如果是返回true,不是返回false。假設輸入陣列的任意兩個數字都不相同。後序遍歷得到的序列中,最後乙個數字是樹的根節點的值。陣列中前面的數字可分為兩部...