From f081ad1bb22304b6a59e0b6fcd1cf2a846b85fec Mon Sep 17 00:00:00 2001 From: pratikb0501 Date: Sat, 2 May 2026 13:50:32 -0700 Subject: [PATCH] Completed Trees-3 --- Problem_1.py | 22 ++++++++++++++++++++++ problem_2.py | 19 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 Problem_1.py create mode 100644 problem_2.py diff --git a/Problem_1.py b/Problem_1.py new file mode 100644 index 00000000..3be8a29a --- /dev/null +++ b/Problem_1.py @@ -0,0 +1,22 @@ +# Definition for a binary tree node. +# class TreeNode: +# def __init__(self, val=0, left=None, right=None): +# self.val = val +# self.left = left +# self.right = right +class Solution: + def pathSum(self, root, targetSum): + self.result = [] + self.helper(root, targetSum, 0, []) + return self.result + + def helper(self, root, targetSum, currSum, temp): + if not root: + return + temp.append(root.val) + currSum = currSum + root.val + if not root.left and not root.right and currSum == targetSum: + self.result.append(list(temp)) + self.helper(root.left, targetSum, currSum, temp) + self.helper(root.right, targetSum, currSum, temp) + temp.pop() diff --git a/problem_2.py b/problem_2.py new file mode 100644 index 00000000..85e48340 --- /dev/null +++ b/problem_2.py @@ -0,0 +1,19 @@ +class TreeNode: + def __init__(self, val=0, left=None, right=None): + self.val = val + self.left = left + self.right = right +class Solution: + def isSymmetric(self, root): + return self.helper(root.left, root.right) + + def helper(self, left, right): + if not left or not right: + return left == right + + if left.val != right.val: + return False + + return self.helper(left.left, right.right) and self.helper( + left.right, right.left + ) \ No newline at end of file