问题:
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
代码:
# -*- coding:utf-8 -*-
class Solution:
def VerifySquenceOfBST(self, sequence):
# write code here
if not sequence:
return False
if len(sequence)<=2:
return True
flag='leftree'
for i in range(len(sequence)-1):
if flag=='leftree' and sequence[i]>sequence[-1]:
flag='rightree'
else:
if flag=='rightree' and sequence[i]<sequence[-1]:
return False
return True
运行时间:25ms
占用内存:5852k