[leetcode] 404. Sum of Left Leaves 解题报告

来源:互联网 发布:虚拟机 ubuntu 屏幕 编辑:程序博客网 时间:2024/04/30 05:48

题目链接:https://leetcode.com/problems/sum-of-left-leaves/

Find the sum of all left leaves in a given binary tree.

Example:

    3   / \  9  20    /  \   15   7There 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 ans = 0;        if(root->left && !root->left->left && !root->left->right)             ans += root->left->val;        ans += sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);        return ans;    }};



0 0