Find the sum of all left leaves in a given binary tree.
Example:
3 / \ 9 20 / \ 15 7There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.
Related Topics:
Tree
// OJ: https://leetcode.com/problems/sum-of-left-leaves
// Author: github.com/lzl124631x
// Time: O(N)
// Space: O(H)
class Solution {
private:
int dfs(TreeNode *root, bool isLeftChild) {
if (!root) return 0;
if (!root->left && !root->right && isLeftChild) return root->val;
return dfs(root->left, true) + dfs(root->right, false);
}
public:
int sumOfLeftLeaves(TreeNode* root) {
return dfs(root, false);
}
};