404. Sum of Left Leaves

# Easy

Two methods:

  1. Use stack<node, is_left>, while loop, very straight forward

  2. Use recursive, but is harder

class Solution:
    def sumOfLeftLeaves(self, root: TreeNode) -> int:
        # edge case
        if root == None:
            return 0
        
        # regular case
        if root.left == None:
            return self.sumOfLeftLeaves(root.right)

        if root.left.left == None and root.left.right == None:
            return root.left.val + self.sumOfLeftLeaves(root.right)
        
        return self.sumOfLeftLeaves(root.left) + self.sumOfLeftLeaves(root.right)

Last updated