404. Sum of Left Leaves

来源:互联网 发布:淘宝客优惠卷怎么设置 编辑:程序博客网 时间:2024/04/30 18:07

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 s;    void dfs(TreeNode* root, int flag){        if(root == NULL) return;        if(root->left == NULL && root->right == NULL && flag == 1){            s += root->val;            return;        }        dfs(root->left, 1);        dfs(root->right, 2);    }    int sumOfLeftLeaves(TreeNode* root) {        dfs(root, 0);        return s;    }};
0 0