题目描述
根据一棵树的前序遍历与中序遍历构造二叉树。
注意:
你可以假设树中没有重复的元素。
思路
代码
#class TreeNode:
# def __init__(self,x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def buildTree(self,preorder,inorder):
if not preorder:
return None
root = TreeNode(preorder[0])
i = inorder.index(root.val)
root.left = self.buildTree(preorder[1:i+1],inorder[:i])
root.right = self.buildTree(preorder[i+1:],inorder[i+1:])
return root