题解 | #二叉搜索树的后序遍历序列#

二叉搜索树的后序遍历序列

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])
            
            
                
全部评论

相关推荐

10-13 12:53
已编辑
湖北工业大学 前端工程师
小海c:包装一下,第一个感觉是字节青训营的那个,后面那个是黑马的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务