美文网首页
01_从中序与后序遍历序列构造二叉树

01_从中序与后序遍历序列构造二叉树

作者: butters001 | 来源:发表于2019-11-12 10:51 被阅读0次
    # Definition for a binary tree node.
    class TreeNode(object):
        def __init__(self, x):
            self.val = x
            self.left = None
            self.right = None
    
    
    class Solution(object):
        def buildTree(self, inorder, postorder):
            """
            :type inorder: List[int]
            :type postorder: List[int]
            :rtype: TreeNode
            """
            if not inorder or not postorder:
                return
            root = TreeNode(postorder[-1])
            index = inorder.index(postorder[-1])
            # 要抛出根节点 形参的 inorder 和 postorder 长度要相等
            root.left = self.buildTree(inorder[:index], postorder[:index])
            # 中序根节点在index处 后序根节点在-1索引处
            root.right = self.buildTree(inorder[index+1:], postorder[index:-1])
            return root
    
    

    相关文章

      网友评论

          本文标题:01_从中序与后序遍历序列构造二叉树

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