求所有左节点的和。
你说你是不是傻,一个人对你好不好,不能只听他说什么,要看做什么,可是哦,连说都不说的时候,就是真的不在意了。
换位思考,我不会像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); */ } };