106Construct Binary Tree from Inorder and Postorder Traversal

来源:互联网 发布:java获取当天0点时间 编辑:程序博客网 时间:2024/06/16 22:04
# 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 None
        ind=inorder.index(postorder.pop())
        root=TreeNode(inorder[ind])
        root.right=self.buildTree(inorder[ind+1:],postorder)
        root.left=self.buildTree(inorder[:ind],postorder)
        

        return root


给定中序和后序,先移除右再移除左

阅读全文
0 0