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.
这道题我们使用递归来实现。递归得内容很简单:如果发现了左叶子节点就累加,其他的递归。
class Solution {
public:
int sumOfLeftLeaves(TreeNode* root) {
if (root == NULL) return 0;
int sum = 0;
if (root->left && root->left->left == NULL && root->left->right == NULL) sum += root->left->val;
else if(root->left) sum += sumOfLeftLeaves(root->left);
if (root->right) sum += sumOfLeftLeaves(root->right);
return sum;
}
};