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)
}