Day126 | 灵神 | 二叉树 | 层数最深的叶子结点的和

1302.层数最深的叶子结点的和

1302. 层数最深叶子节点的和 - 力扣(LeetCode)

思路:

这道题用层序遍历的思路比较好想,就把每层的都算一下,然后返回最后一层的和就是了

用深度优先也可以,传一个参数是深度,当深度最大的时候才会把当前结点的值加入到res中

完整代码:

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
class Solution {
public:
int deepestLeavesSum(TreeNode* root) {
queue<TreeNode *> q;
int res=0;
if(root==nullptr)
return res;
q.push(root);
while(!q.empty())
{
res=0;
int size=q.size();
vector<int> path;
for(int i=0;i<size;i++)
{
TreeNode *t=q.front();
q.pop();
res+=t->val;
if(t->left)
q.push(t->left);
if(t->right)
q.push(t->right);
}
}
return res;
}
};