MCPcopy Create free account
hub / github.com/HuberTRoy/leetCode / Solution

Class Solution

Tree/ConstructBinaryTreeFromPreorderAndInorderTraversal.py:43–67  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41# self.right = None
42
43class Solution(object):
44 def buildTree(self, preorder, inorder):
45 """
46 :type preorder: List[int]
47 :type inorder: List[int]
48 :rtype: TreeNode
49 """
50
51 def make(preorder, inorder):
52 if not preorder:
53 return None
54
55 root = TreeNode(preorder[0])
56
57 left_in = inorder[:inorder.index(root.val)]
58 left_pre = preorder[1:len(left_in)+1]
59 right_in = inorder[len(left_in)+1:]
60 right_pre = preorder[len(left_in)+1:]
61
62 root.left = make(left_pre, left_in)
63 root.right = make(right_pre, right_in)
64
65 return root
66
67 return make(preorder, inorder)
68

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected