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

相关推荐

05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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