美文网首页
2019-03-27 待提高

2019-03-27 待提高

作者: 骚得过火 | 来源:发表于2019-03-27 22:10 被阅读0次

    1.#### 左叶子之和

    计算给定二叉树的所有左叶子之和。

    示例:

    3
    

    /
    9 20
    /
    15 7

    在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 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) {
            vector<int> left;
            get_left_leaf( root , left );
            int sum = 0;
            for( int i = 0 ; i < left.size() ; i++ )
            {
                sum += left[i];
            }
            return sum;
            
            
            
        }
        
        void get_left_leaf( TreeNode * root , vector<int>& left)
        {
            if(root == NULL) return ;
            if(root -> left != NULL&& root -> left -> left == NULL&&root->left->right==NULL) left.push_back(root->left->val);
            get_left_leaf(root->left ,left);
            get_left_leaf(root->right ,left);
        }
    };
    

    相关文章

      网友评论

          本文标题:2019-03-27 待提高

          本文链接:https://www.haomeiwen.com/subject/xtdxbqtx.html