Skip to content

Commit ff42bed

Browse files
committed
solve : construct binary tree from preorder and inorder traversal
1 parent e6fdd80 commit ff42bed

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# TC : O(n)
2+
# SC : O(n)
3+
class Solution:
4+
def buildTree(self, preorder: List[int], inorder: List[int]) -> Optional[TreeNode]:
5+
if not preorder or not inorder:
6+
return None
7+
8+
root = TreeNode(preorder[0])
9+
mid = inorder.index(preorder[0])
10+
root.left = self.buildTree(preorder[1 : mid + 1], inorder[:mid])
11+
root.right = self.buildTree(preorder[mid + 1 :], inorder[mid + 1 :])
12+
return root

0 commit comments

Comments
 (0)