代码随想录二刷 |二叉树 |在每个树行中找最大值

代码随想录二刷 |二叉树 |在每个树行中找最大值

题目描述

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

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

示例1:
在这里插入图片描述
输入: root = [1,3,2,5,3,null,9]
输出: [1,3,9]

示例2:

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

提示:

  • 二叉树的节点个数的范围是 [0,104]
  • -231 <= Node.val <= 231 - 1

解题思路

层序遍历,取每一层的最大值。

代码实现

class Solution {
   
public:
    vector<int> largestValues(TreeNode* root) {
   
        queue<TreeNode*> que;
        vector<int> result;
        if (root != NULL) que.push(root);
        while (!que.empty()) {
   
            int size = que.size();
            int maxValue = INT_MIN;
            for (int i = 0; i < size; i++) {
   
                TreeNode* node = que.front();
                que.pop();
                maxValue = node->val > maxValue ? node->val : maxValue;
                if (node->left) que.push(node->left);
                if (node->right) que.push(node->right);
            }
            result.push_back(maxValue);
        }
        return result;
    }
};

相关推荐

  1. 代码随想 左下角的

    2023-12-09 21:08:02       14 阅读
  2. 代码随想——day15

    2023-12-09 21:08:02       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-09 21:08:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-09 21:08:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-09 21:08:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-09 21:08:02       20 阅读

热门阅读

  1. 重构第四章:构建测试体系

    2023-12-09 21:08:02       38 阅读
  2. ChatGPT 在金融分析中的作用:谨慎乐观的展望

    2023-12-09 21:08:02       37 阅读
  3. 找重复的数据(一维数组)

    2023-12-09 21:08:02       34 阅读
  4. 编译器缓存

    2023-12-09 21:08:02       42 阅读
  5. HTML 常用表单元素使用以及注解

    2023-12-09 21:08:02       38 阅读
  6. 以下是一些自然语言处理(NLP)技术的例子:

    2023-12-09 21:08:02       43 阅读
  7. 常用设计模式

    2023-12-09 21:08:02       39 阅读
  8. SpringIoC原理

    2023-12-09 21:08:02       36 阅读
  9. 学会用bash在linux写脚本 (二)

    2023-12-09 21:08:02       37 阅读