Day126 | 灵神 | 二叉树 | 层数最深的叶子结点的和
1302.层数最深的叶子结点的和
1302. 层数最深叶子节点的和 - 力扣(LeetCode)
思路:
这道题用层序遍历的思路比较好想,就把每层的都算一下,然后返回最后一层的和就是了
用深度优先也可以,传一个参数是深度,当深度最大的时候才会把当前结点的值加入到res中
完整代码:
cpp
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;
}
};