輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。
# -*- coding:utf-8 -*-class solution:
def verifysquenceofbst(self, sequence):
# write code here
if not sequence:
return false
root = sequence[-1]
i = 0
while sequence[i] < root:
i = i+ 1
for j in range(i,len(sequence)-1):
if sequence[j] < root:
return false
left = sequence[:i]
right =sequence[i:len(sequence)-1]
leftis = true
rightis =true
if len(left) > 0:
leftis = self.verifysquenceofbst(left)
if len(right) > 0:
rightis = self.verifysquenceofbst(right)
return leftis and rightis
二叉搜尋樹的後續遍歷
二叉搜尋樹的後續遍歷 題目描述 輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。bst後續遍歷 class solution 判斷後一半的問題,如果還有小於根的,則return false for int j ...
二叉搜尋樹的後續遍歷序列
輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷結果,假設輸入的陣列的任意兩個數字都互不相同 author q.yuan public class judgepostorder leftend 判斷左子樹的值是否都小於根節點的值 for int i low i leftend i 判斷右子樹...
二叉搜尋樹的後續遍歷序列
題目 輸入乙個整數陣列 判斷該陣列是不是某二叉搜尋樹的後續遍歷結果 如果是則返回true 否咋返回false 假設輸入數字的任意兩個數字都互不相同 後序遍歷是左 右 根 左 根 右 陣列最後乙個值t為根結點的值 陣列中小於t的為樹的左孩子 之後的應當為右孩子 且所有的右孩子大於根t 若存在不大於t的...