Skip to content

Sum Numbers

LeetCode Problem

# https://leetcode.com/problems/sum-root-to-leaf-numbers://leetcode.com/problems/sum-root-to-leaf-numbers/
# Answer : currSum = currSum * 10 + root.val (1->2 : 1 * 10 + 2 = 12) [do for left ST and right ST and add]


class Solution:
    def sumNumbers(self, root):
        def sumRecursive(root, currSum):
            if not root:
                return 0
            currSum = currSum * 10 + root.val
            # base case
            if not root.left and not root.right:
                return currSum
            # recursive case
            left_sum = sumRecursive(root.left, currSum)
            right_sum = sumRecursive(root.right, currSum)
            ans = left_sum + right_sum
            return ans

        return sumRecursive(root, 0)