首页 > 其他 > 详细

105 Construct Binary Tree from Preorder and Inorder Traversal

时间:2015-08-06 07:01:05      阅读:223      评论:0      收藏:0      [点我收藏+]

105 Construct Binary Tree from Preorder and Inorder Traversal

 这道题纯递归

class Solution:
    # @param {integer[]} preorder
    # @param {integer[]} inorder
    # @return {TreeNode}
    def buildTree(self, preorder, inorder):
        self.cur = 0
        return self.help(preorder, inorder, 0, len(inorder)-1)

    def help(self, pre, ino, s, e):
        if s > e:
            return None
        node = TreeNode(pre[self.cur])
        self.cur += 1
        if s == e:
            return node
        ind = ino.index(node.val)
        node.left = self.help(pre, ino, s, ind-1)
        node.right = self.help(pre, ino, ind+1, e)
        return node

 

105 Construct Binary Tree from Preorder and Inorder Traversal

原文:http://www.cnblogs.com/dapanshe/p/4706290.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!