404 Sum of Left Leaves

请看题

Example


解析

这一道题要求我们去计算左孩子的sum,怎么去计算呢?

想一想,判断左孩子要什么条件呢?

根据Example中我们可以看见,左孩子的下节点为空,那么根据if我们就可以写出如果当前节点不为空并且左孩子的左右节点为空那么就可以获取到值,然后计算


Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
* };
*/
class Solution {
public:

int sums(TreeNode *root)
{
int sum = 0;
if(!root)
{
return 0;
}
if (root->left && !root->left->left && !root->left->right)
{
sum += root->left->val;
}
sum += sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);

return sum;
}

int sumOfLeftLeaves(TreeNode* root) {
if(!root)
{
return 0;
}
return sums(root);

}
};

结束。


404 Sum of Left Leaves
http://example.com/2024/05/25/404 Sum of Left Leaves/
作者
OneWhiteThree
发布于
2024年5月25日
许可协议