递归解决

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

http://www.nowcoder.com/questionTerminal/a861533d45854474ac791d90e447bafd

递归解决

# -*- coding:utf-8 -*-
class Solution:
    def VerifySquenceOfBST(self, sequence):
        if len(sequence)<1:
            return False
        elif len(sequence) ==1:
            return True
        else:
            index = 0
            father = sequence[-1]
            for i in range(len(sequence)-1):
                if sequence[i] < father and sequence[i+1] >father:
                    index = i
                    break

            if i+1 == len(sequence)-1:
                return True
            for temp in sequence[:index+1]:
                if temp >father:
                    return False
            for temp in sequence[index+1:-1]:
                if temp <father:
                    return False
            return self.VerifySquenceOfBST(sequence[:index+1]) and self.VerifySquenceOfBST(sequence[index+1:])

        # write code here
全部评论

相关推荐

05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务