'''
二叉搜索樹
二叉排序樹
二叉查找樹
前序遍歷
中序遍歷
後序遍歷
根節點
算法:
1. 找到根節點
2. 遍歷序列,找到第一個大於根節點的元素i,則i左側爲左子樹,右側爲右子樹
3. 判斷i右側的節點是否都比根節點大,如果有比根節點值小的節點,直接返回False
4. 否則用遞歸的方式繼續處理i左側和右側的節點
'''defverifyBST(sequence):ifnot sequence:returnFalse
root = sequence[-1]
i =0for node in sequence[i:-1]:if node > root:break
i +=1for node in sequence[i:-1]:if node < root:returnFalse
left =Trueif i >0:
left = verifyBST(sequence[:i])
right =Trueif i <len(sequence)-2and left:
right = verifyBST(sequence[i +1:])return left and right
print(verifyBST([1,4,7,6,3,13,14,10,8]))print(verifyBST([8,3,1,6,4,7,10,14,13]))