美文网首页
2019-08-23剑指 叉搜索树的后序遍历序列

2019-08-23剑指 叉搜索树的后序遍历序列

作者: mztkenan | 来源:发表于2019-08-23 18:50 被阅读0次

    27min
    1.list.pop()返回的不是数组,而是数
    2.or 写成了and 导致-1数组越界
    3.root写成0导致反例并不能及时终止

    最终还是通过某个样例进行错误排查

    class Solution:
        def VerifySquenceOfBST(self, sequence:List):
            if not sequence:return False
            return self.dfs(sequence)
    
        def dfs(self,sequence):
            if not sequence or len(sequence)==1:return True # or写成了and
            root=sequence[-1]
            i=0
            while i<len(sequence)-1 and sequence[i]<=root:  # i的边界条件要加上
                i+=1
            c=i
            while i<len(sequence)-1:
                if sequence[i]<=root:return False # 妈的这里写成0了
                i+=1
            return self.dfs(sequence[:c]) and self.dfs(sequence[c:-1])
    
    

    相关文章

      网友评论

          本文标题:2019-08-23剑指 叉搜索树的后序遍历序列

          本文链接:https://www.haomeiwen.com/subject/ixgtectx.html