首页 > 其他 > 详细

【easy】404. Sum of Left Leaves

时间:2018-01-25 22:38:29      阅读:216      评论:0      收藏:0      [点我收藏+]

求所有左节点的和。

你说你是不是傻,一个人对你好不好,不能只听他说什么,要看做什么,可是哦,连说都不说的时候,就是真的不在意了。

换位思考,我不会像TA这样。话说,记得顺手下个单买个东西,说一句太晚了回去路上注意安全是很容易被忘记的事情么?

兴致勃勃给我讲组会的笑话,这些破事情我真的不太在意的,和我有什么关系呢,我在外面很冷很难受啊,我处境很糟糕啊,我也很头疼啊。

对不起,我只能感受到你不想做事情的怠惰和不专心,体会不到你嘻嘻哈哈讲组会上笑话的时候所谓的一天都很头疼。

随便一个小事情,哪怕是提醒他喝泡腾片,下单买爱吃的东西这种事情都记在手机每日提醒里的我,是多么愚蠢啊。

我自己的事情,可以自己做到,我会保护自己然后努力学习毕业的,就不劳烦您担心了。

/**
 * 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;
        else 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
        //--如果有左节点,但是左节点没有任何的子节点(左节点的值+右子树的和)
        //--其他的情况:左子树和+右子树和
        
        
        //傻孩子,这是你想的最好,但是错的最离谱的一次
        /*
        if (root == NULL || (root->left == NULL && root->right == NULL))
            return 0; 
        if (root->left == NULL && root->right != NULL)
            return sumOfLeftLeaves(root->right);
        if (root->left != NULL && root->right == NULL)
            return root->left->val + sumOfLeftLeaves(root->left);
        if (root->left != NULL && root->right != NULL)
            return root->left->val + sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);
        */
    }
};

 

【easy】404. Sum of Left Leaves

原文:https://www.cnblogs.com/sherry-yang/p/8353341.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!