Skip to content

Commit 8c46d00

Browse files
committed
feat: Solve construct-binary-tree-from-preorder-and-inorder-traversal problem
1 parent 47081ea commit 8c46d00

File tree

1 file changed

+16
-0
lines changed
  • construct-binary-tree-from-preorder-and-inorder-traversal

1 file changed

+16
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Definition for a binary tree node.
2+
# class TreeNode:
3+
# def __init__(self, val=0, left=None, right=None):
4+
# self.val = val
5+
# self.left = left
6+
# self.right = right
7+
class Solution:
8+
def buildTree(self, preorder: List[int], inorder: List[int]) -> Optional[TreeNode]:
9+
if not inorder:
10+
return None
11+
12+
val = preorder.pop(0)
13+
mid = inorder.index(val)
14+
left = self.buildTree(preorder, inorder[:mid])
15+
right = self.buildTree(preorder, inorder[mid + 1 :])
16+
return TreeNode(val, left, right)

0 commit comments

Comments
 (0)