栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

leetcode515. 在每个树行中找最大值C++

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

leetcode515. 在每个树行中找最大值C++

链接:

链接: leetcode515. 在每个树行中找最大值

描述,示例和提示:


代码:
class Solution {
public:
    vector largestValues(TreeNode* root) {
        if(!root) return {};

        queue q;
        vector ret;
        q.push(root);
        while(!q.empty())
        {
            int len = q.size();
            int rets = INT_MIN;
            while(len>0)
            {
                len--;
                auto it = q.front();
                q.pop();
                rets = max(rets, it->val);
                if(it->left) q.push(it->left);
                if(it->right) q.push(it->right);
            }
            ret.push_back(rets);
        }
        return ret;
    }
};
题目解析:

二叉树的题基本都是遍历问题,只要找到合适的遍历方法即可,
本题运用了层序遍历的非递归式方法
每一层节点插入到队列的时候,顺便判断一下这一层的最大值即可。

链接: 层序遍历:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/989852.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号