原题:
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.代码如下:
int sumOfLeftLeaves(struct TreeNode* root) {
if(root==NULL)
return 0;
if(root->left!=NULL&&root->right!=NULL)
{
if(root->left->left==NULL&&root->left->right==NULL)
{
return root->left->val+sumOfLeftLeaves(root->right);
}
return sumOfLeftLeaves(root->left)+sumOfLeftLeaves(root->right);
}
else if(root->left!=NULL)
{
if(root->left->left==NULL&&root->left->right==NULL)
{
return root->left->val;
}
return sumOfLeftLeaves(root->left);
}
else if(root->right!=NULL)
{
return sumOfLeftLeaves(root->right);
}
else
{
return 0;
}
return 0;
}
还是递归解题就好