From f398de4f04e22b38421375ea81a5d81382657bc5 Mon Sep 17 00:00:00 2001 From: Satish Mallikarjun Paraddi Date: Sun, 13 Sep 2026 18:16:46 -0400 Subject: [PATCH 1/2] Complete Problem_1.py --- Problem_1.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Problem_1.py diff --git a/Problem_1.py b/Problem_1.py new file mode 100644 index 00000000..ea9fc38a --- /dev/null +++ b/Problem_1.py @@ -0,0 +1,20 @@ +# Time Complexity : O(n) +# Space Complexity : O(n) +# Did this code successfully run on Leetcode : Yes +class Solution: + def buildTree(self, inorder: List[int], postorder: List[int]) -> Optional[TreeNode]: + inorder_map = {val: i for i,val in enumerate(inorder)} + self.idx = len(inorder) - 1 + return self.helper(postorder,0,len(inorder)-1,inorder_map) + + def helper(self,postorder,start,end,inorder_map): + if start > end: + return + root_val = postorder[self.idx] + self.idx -= 1 + root = TreeNode(root_val) + root_idx = inorder_map[root_val] + root.right = self.helper(postorder, root_idx + 1, end, inorder_map) + root.left = self.helper(postorder, start, root_idx - 1, inorder_map) + + return root From 2541ceb1021c3b06ea9698dd08abd9c2b404563d Mon Sep 17 00:00:00 2001 From: Satish Mallikarjun Paraddi Date: Sun, 13 Sep 2026 18:17:47 -0400 Subject: [PATCH 2/2] Complete Problem_2.py --- Problem_2.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 Problem_2.py diff --git a/Problem_2.py b/Problem_2.py new file mode 100644 index 00000000..a00c703b --- /dev/null +++ b/Problem_2.py @@ -0,0 +1,15 @@ +# Time Complexity : O(n) +# Space Complexity : O(h) where h is the height of the tree +# Did this code successfully run on Leetcode : Yes +class Solution: + def sumNumbers(self, root: Optional[TreeNode]) -> int: + return self.sum(root, 0) + + def sum(self, root, currSum): + if root is None: + return 0 + + currSum = currSum * 10 + root.val + if root.left is None and root.right is None: + return currSum + return self.sum(root.left, currSum) + self.sum(root.right,currSum)