面试题24:二叉搜索树的后续遍历序列
def VerifySquenceOfBST(squence):
if squence is None or len(squence)<=0:
return False
se_len=len(squence)
root=squence[se_len-1]
for i in range(se_len):
if squence[i]>root:
break
j=i
#注意此时j的变化与i无关
for j in range(j,se_len):
if squence[j]<root:
return False
left=True
#默认初始化变量left
if i>0:
left=VerifySquenceOfBST(squence[:i])
right=True
if j<se_len:
right=VerifySquenceOfBST(squence[j:])
return left and right