404. Sum of Left Leaves ⭐

Easy

Given the root of a binary tree, return the sum of all left leaves.

A leaf is a node with no children. A left leaf is a leaf that is the left child of another node.

Example 1:

Input: root = [3,9,20,null,null,15,7]
Output:
 24
Explanation:
 There are two left leaves in the binary tree, with values 9 and 15 respectively.

Example 2:

Input: root = [1]
Output:
 0

Constraints:

  • The number of nodes in the tree is in the range [1, 1000].

  • -1000 <= Node.val <= 1000

解題

Runtime: 0 ms, faster than 100.00%

Memory Usage: 2.7 MB, less than 42.22%

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func sumOfLeftLeaves(root *TreeNode) int {
    if root == nil {
        return 0
    }
    
    val := 0
    if root.Left != nil && root.Left.Left == nil && root.Left.Right == nil {
        val = root.Left.Val
    }
    
    return val + sumOfLeftLeaves(root.Left) + sumOfLeftLeaves(root.Right)
}

Last updated