Given the root
of a binary tree, return the sum of all left leaves.
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
Companies:
Apple, Adobe, Amazon
Related Topics:
Tree, Depth-First Search, Breadth-First Search, Binary Tree
// OJ: https://leetcode.com/problems/sum-of-left-leaves
// Author: github.com/lzl124631x
// Time: O(N)
// Space: O(H)
class Solution {
public:
int sumOfLeftLeaves(TreeNode* root, bool isLeft = false) {
if (!root) return 0;
if (!root->left && !root->right) return isLeft ? root->val : 0;
return sumOfLeftLeaves(root->left, true) + sumOfLeftLeaves(root->right);
}
};