1
# Runtime: 274 ms (Top 36.07%) | Memory: 88.6 MB (Top 22.22%)4
# Definition for a binary tree node.5
# class TreeNode(object):6
# def __init__(self, val=0, left=None, right=None):10
class Solution(object):11
def buildTree(self, preorder, inorder):13
:type preorder: List[int]14
:type inorder: List[int]17
if not preorder or not inorder:20
root = TreeNode(preorder[0])21
mid = inorder.index(preorder[0])22
root.left = self.buildTree(preorder[1 : mid + 1], inorder[:mid])23
root.right = self.buildTree(preorder[mid + 1 :], inorder[mid + 1 :])