09_每个行中找最大值

简介: 09_每个行中找最大值

在每个树行中找最大值

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

示例1:

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

示例2:

输入: root = [1,2,3]
输出: [1,3]
class Solution {
    public List<Integer> largestValues(TreeNode root) {
        List<Integer> resList = new ArrayList<>();
        if (root == null)  return resList;
        Queue<TreeNode> queue = new LinkedList<>();
        queue.add(root);
        while (!queue.isEmpty()) {
            int levelSize = queue.size();
            int max = Integer.MIN_VALUE;  //使用Integer下的最小值做为初始化
            for (int i = 0; i < levelSize; i++) {
                TreeNode tmp = queue.poll();
                max = Math.max(max, tmp.val);  //Math函数做一个比较,两者中的最大值
                if (tmp.left != null)  queue.add(tmp.left);
                if (tmp.right != null)  queue.add(tmp.right);
            }
            resList.add(max);   //将每一行的最大值加入到resList列表中
        }
        return resList;
    }
}
JAVA 复制 全屏

[总结]

这道题仍然是建立在层次遍历的基础上的,在最大值的比较上没有用到Max函数,没有想到用Math.max()函数最终导致题目没有做出来。

相关文章
|
Windows
msi文件解包
msi文件解包
2142 1
msi文件解包
|
存储 开发者 索引
List 和 Set 集合的区别
List 和 Set 集合的区别
745 0
|
存储 Java 索引
Java 中 List、Set、Map 和 Queue 之间的区别
【8月更文挑战第22天】
419 0
|
算法 安全 Java
【数据安全】常见加密算法总结
【数据安全】常见加密算法总结
2786 1
|
存储 SQL 关系型数据库
PolarDB-X 存储引擎核心技术 | Lizard 多级闪回
本文介绍了数据库闪回技术,这是一种允许用户恢复到过去某个时间点状态的功能,无需依赖传统备份。闪回技术在误操作修复、数据恢复演练、问题诊断及合规审计等场景下尤为重要。
717 54
|
机器学习/深度学习 人工智能 监控
人工智能的伦理挑战与社会责任
【8月更文挑战第11天】在人工智能技术迅速发展的今天,我们面临着前所未有的伦理和社会责任问题。本文将探讨AI技术可能带来的负面影响,包括隐私侵犯、自动化失业、偏见增强以及决策透明度的缺失。同时,我们将讨论如何通过制定合理的政策、加强国际合作、提高公众意识和培养专业人才来应对这些挑战,确保AI技术的健康发展和社会的和谐进步。
442 1
pip安装iterstrat.ml_stratifiers import MultilabelStratifiedKFold, MultilabelStratifiedShuffleSplit
文章介绍了如何使用iterative-stratification库进行多标签多分类的K折交叉验证,包括安装方法和示例代码。
338 1
|
存储 负载均衡 安全
虚拟桌面和云桌面办公系统
虚拟桌面和云桌面办公系统
|
算法 安全 网络安全
一文搞懂常见的加密算法
一文搞懂常见的加密算法
1788 0
|
存储 安全 Java
Go语言中的map为什么默认不是并发安全的?
Go语言的map默认不保证并发安全,以优化性能和简洁性。官方建议在需要时使用`sync.Mutex`保证安全。从Go 1.6起,并发读写map会导致程序崩溃,鼓励开发者显式处理并发问题。这样做的哲学是让代码更清晰,并避免不必要的性能开销。
247 0

热门文章

最新文章