题解 | #二叉搜索树的后序遍历序列#
二叉搜索树的后序遍历序列
http://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param sequence int整型一维数组
# @return bool布尔型
#
class Solution:
def VerifySquenceOfBST(self , sequence: List[int]) -> bool:
# write code here
if not sequence:
return False
index=-1
ss=0
for i in range(len(sequence)-1):
if ss==0:
if sequence[i]>sequence[-1]:
ss=1
index=i
elif ss==1:
if sequence[i]<sequence[-1]:
return False
if len(sequence)<3:
return True
elif index==-1:
return self.VerifySquenceOfBST(sequence[:index])
elif index==0:
return self.VerifySquenceOfBST(sequence[index:-1])
else:
return self.VerifySquenceOfBST(sequence[:index]) and self.VerifySquenceOfBST(sequence[index:-1])
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param sequence int整型一维数组
# @return bool布尔型
#
class Solution:
def VerifySquenceOfBST(self , sequence: List[int]) -> bool:
# write code here
if not sequence:
return False
index=-1
ss=0
for i in range(len(sequence)-1):
if ss==0:
if sequence[i]>sequence[-1]:
ss=1
index=i
elif ss==1:
if sequence[i]<sequence[-1]:
return False
if len(sequence)<3:
return True
elif index==-1:
return self.VerifySquenceOfBST(sequence[:index])
elif index==0:
return self.VerifySquenceOfBST(sequence[index:-1])
else:
return self.VerifySquenceOfBST(sequence[:index]) and self.VerifySquenceOfBST(sequence[index:-1])