leetcode 1161(BFS)

1161: 最大层内元素和

思路:本题需要计算每一层的节点值之和,适合用 BFS。

二叉树结构:

复制代码
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) {}
};

维护两个信息:最大层和 maxSum,以及对应的层号 ans。如果当前层的和大于 maxSum,那么更新 maxSum 和 ans。

复制代码
auto tmp=q;
复制代码
class Solution {
public:
    int maxLevelSum(TreeNode* root) {
        int max_sum=INT_MIN;
        int ans=0;
        vector<TreeNode*> q={root}; //BFS
        for(int level=1;!q.empty();level++){
            auto tmp=q;
            q.clear();
            int s=0;

            for(auto node:tmp){
                s+=node->val;
                if(node->left) q.push_back(node->left);
                if(node->right) q.push_back(node->right);
            }
            if(s> max_sum){
                max_sum=s;
                ans=level;
            }
        }

        return ans;
    }
};
相关推荐
Chen—LSN19 分钟前
C语言——文件操作(2)
c语言·开发语言·c++·经验分享·笔记·算法·c#
程序员yu41 分钟前
会编网络:别被入门教程骗了,Python实用能力不在语法本身
开发语言·python·学习·算法
Bruce_Liuxiaowei1 小时前
Python 字典默认值完全指南:从 KeyError 到 defaultdict
开发语言·数据结构·python·字典
Allen_LVyingbo1 小时前
信息化部门在AI时代的编程转移路径分析(上)
人工智能·python·算法·健康医疗·数据库开发·时序数据库·数据库架构
七牛云行业应用2 小时前
Jev 报 401 / api_key_required 怎么解决:TypeSafe AI 官方错误码表与排查步骤
算法·github
晴天的雨.9922 小时前
【C++算法】三数之和
开发语言·c++·算法
多多爱学习3 小时前
括号有几层?得看还有多少个左括号没闭合
c语言·c++·算法·面试
续写烂尾3 小时前
MK SD NAND(贴片式TF卡)替代Nor Flash:1Gb容量与256Mb Nor
算法·microsoft
u0111026753 小时前
图片预览越来越占内存聊聊 URL.createObjectURL 的释放时机
图像处理·深度学习·算法·ai作画
Zane19943 小时前
同样是遍历图,为什么BFS能保证找到最短路径,DFS却不行
算法