404. Sum of Left Leaves

来源:互联网 发布:贪心算法的特点 编辑:程序博客网 时间:2024/05/01 02:16

Problem:


Solution:

看到树,必然想到要用递归算法,本题的递归方式为:
1、若root为空,则返回0;
2、若root的左子树root->left为叶子结点,此时的root->left正是我们需要计算其值的目标结点,返回root->left->val + 对root的右子树的递归访问
3、若为其他情况,则返回对root的左右子树分别的递归访问之和
/** * 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 == NULL)        {            return 0;        }        if (root->left != NULL && root->left->left == NULL && root->left->right == NULL)        {            return root->left->val + sumOfLeftLeaves(root->right);        }        else return sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);    }};


0 0