本文主要是介绍404. Sum of Left Leaves(Leetcode每日一题-2020.09.19),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Problem
Find the sum of all left leaves in a given binary tree.
Example
Solution
首先就是我们只求叶子节点之和(左孩子右孩子为空就可以判断是否为叶子节点),然后需要判断是否是左边的叶子节点,所以我们只需要判断每个节点左边节点是否为空,如果不为空是否为叶子节点,如果成立我们就返回这个左孩子的值再加上向右边孩子进行递归计算的值(右孩子中也有可能有左叶子节点)。
/*** 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;if(root->left && !root->left->left && !root->left->right)return root->left->val + sumOfLeftLeaves(root->right);return sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);}
};
这篇关于404. Sum of Left Leaves(Leetcode每日一题-2020.09.19)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!