题目描述:计算给定二叉树的所有左叶子之和。
解题思路:(1)先判断根节点的左孩子是否为空,若不为空判断是否为叶节点,若左孩子不是叶节点递归函数。(2)根节点的左孩子为空递归函数
代码:
class Solution {
public:
int sumOfLeftLeaves(TreeNode* root) {
if(root==NULL)
return 0;
int sum=0;
if(root->left!=NULL){
if(root->left->left==NULL&&root->left->right==NULL)
sum+=root->left->val;
else
sum+=sumOfLeftLeaves(root->left);
sum+=sumOfLeftLeaves(root->right);
return sum;
}else{
sum+=sumOfLeftLeaves(root->right);
return sum;
}
}
};