题目描述
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
# -*- coding:utf-8 -*- class Solution: def isSquenceOfBST(self, sequence): if len(sequence)<=2: return True root =sequence[-1] index=0 res=True while index<len(sequence)-1 and sequence[index]<root: index+=1 mark=index while index<len(sequence)-1 and sequence[index]>root: index+=1 if index==len(sequence)-1: return self.isSquenceOfBST(sequence[:mark]) and self.isSquenceOfBST(sequence[mark:-1]) else: return False def VerifySquenceOfBST(self, sequence): # write code here if sequence==[]: return False else: return self.isSquenceOfBST(sequence)