递归解决

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

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

相关推荐

点赞 评论 收藏
分享
大世界中的渺小一棵:看出来你软硬都有基础,但是这样写简历软硬都擦边不知道你想投什么,建议针对岗位jd针对性修改下。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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