404. Sum of Left Leaves
Find the sum of all left leaves in a given binary tree.
Example:
3
/ \
9 20
/ \
15 7
There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.
1. Analyse
Resently, the problem in Leetcode is easier than before. Recursion to solve this problem.
Please pay attention, just sum the left LEAVES.
2. AC Code
(15 Lines)
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int sumOfLeftLeaves(TreeNode* root) {
return sumLeft( root, false );
}
int sumLeft( TreeNode* root, bool isLeft ){
if( !root )
return 0;
else if( !root->left && !root->right && isLeft )
return root->val;
else
return sumLeft( root->left, true ) + sumLeft( root->right, false );
}
};