Construct Binary Tree from Preorder and Inorder Traversal

来源:互联网 发布:linux查看home下用户 编辑:程序博客网 时间:2024/06/08 16:07
# 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, preorder, inorder):
        """
        :type preorder: List[int]
        :type inorder: List[int]
        :rtype: TreeNode
        """
        if inorder:
            ind = inorder.index(preorder.pop(0))
            root = TreeNode(inorder[ind])
            root.left = self.buildTree(preorder, inorder[0:ind])
            root.right = self.buildTree(preorder, inorder[ind+1:])
            return root

        

通过中序和先序来构建二叉树

阅读全文
0 0
原创粉丝点击