您的位置:首页 > 其它

LeetCode 404. Sum of Left Leaves

2016-10-11 20:51 465 查看
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.


先寻找左子树中左叶子个数,再寻找右子树中左叶子个数,返回相加值。

/**
* 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) {
if(!root) return 0;
int left = 0, right = 0;
if(root->left){
if(!root->left->left && !root->left->right) left = root->left->val;
else left = sumOfLeftLeaves(root->left);
}
if(root->right){
if(!root->right->left && !root->right->right) right = 0;
else right = sumOfLeftLeaves(root->right);
}
return left + right;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: