BST(二叉搜索树)

其特点是:每个节点的值大于其任意左侧子节点的值,小于其任意右节点的值。
基于此,BST树的中序遍历是一个由小到大的顺序序列
题目:
输入一个非空整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。

#参考牛客网
        if not sequence:
            return False
        if len(sequence)==1:
            return True
        length=len(sequence)
        root=sequence[-1]
        i=0
        while sequence[i]<root:
            i+=1
        j = i
        for k in range(j,length-1):
            if sequence[k]<root:
                return False
        left_next = sequence[:j]
        right_next = sequence[j:-1]
        left = True
        right = True
        if len(left_next)>0:
            left = self.VerifySquenceOfBST(left_next)
        if len(right_next)>0:
            right = self.VerifySquenceOfBST(right_next)
        return left and right
全部评论

相关推荐

04-25 18:13
五邑大学 Java
后来123321:大二两段实习太厉害了,我现在大二连面试都没有
点赞 评论 收藏
分享
墨西哥大灰狼:如果你的校友卤馆还在的话,他肯定会给你建议的,可是卤馆注销了@ 程序员卤馆
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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