每日OJ题_队列_宽搜bfs④_力扣515. 在每个树行中找最大值

目录

力扣515. 在每个树行中找最大值

解析代码


力扣515. 在每个树行中找最大值

515. 在每个树行中找最大值

难度 中等

给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。

示例1:

输入: root = [1,3,2,5,3,null,9]
输出: [1,3,9]

示例2:

输入: root = [1,2,3]
输出: [1,3]

提示:

  • 二叉树的节点个数的范围是 [0,10^4]
  • -2^31 <= Node.val <= 2^31 - 1
/**
 * 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:
    vector<int> largestValues(TreeNode* root) {

    }
};

解析代码

        思路:层序遍历过程中,在执行让下一层节点入队的时候,我们是可以在循环中统计出当前层结点的最大值的。 因此可以在 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) {}
 * };
 */
class Solution {
public:
    vector<int> largestValues(TreeNode* root) {
        vector<int> ret;
        if(root == nullptr)
            return ret;
        queue<TreeNode*> q;
        q.push(root);
        while(!q.empty())
        {
            int sz = q.size(), maxVal = INT_MIN;
            while(sz--)
            {
                TreeNode* t = q.front();
                maxVal = max(maxVal, t->val);
                q.pop();
                if(t->left)
                    q.push(t->left);
                if(t->right)
                    q.push(t->right);
            }
            ret.push_back(maxVal);
        }
        return ret;
    }
};

最近更新

  1. TCP协议是安全的吗?

    2024-04-02 19:46:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-02 19:46:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-02 19:46:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-02 19:46:03       18 阅读

热门阅读

  1. 谈谈Python中的列表推导式和字典推导式

    2024-04-02 19:46:03       14 阅读
  2. Vue3创建空对象方法及推荐

    2024-04-02 19:46:03       12 阅读
  3. ChatGPT助力:提升学术论文写作的智能利器

    2024-04-02 19:46:03       20 阅读
  4. Maximum Product(UVA 11059)

    2024-04-02 19:46:03       18 阅读
  5. rust并行计算库Rayon

    2024-04-02 19:46:03       18 阅读
  6. 小波包变换(WPT)和OMP实现压缩感知

    2024-04-02 19:46:03       13 阅读