从上到下打印二叉树 II(简单难度)

简介: 从上到下打印二叉树 II(简单难度)

目录

题目概述(简单难度)2.png题目链接:

点我进入链接


思路与代码

思路展现

这个题目其实就是二叉树的层序遍历(使用队列)+List集合来完成遍历的操作

同时这道题目还要分层打印出来,这也是这道题目的难点,一开始我也没想出来,后来看到了卡神的操作是真的秀,同学们要是想复习二叉树的层序遍历操作可以来看我的这篇博客:

点我进入对应博客

要想使我们的最后的结果是分层打印出来,就需要使用循环,但是这个循环非常的巧妙:

    for(int i = queue.size(); i > 0; i--) {
 }

注意我们每次统计队列中的长度的时候一定是当前每层的元素都在队列中的时候,这个个数不多不少正是每层元素的个数,并且注意i必须等于queue.size,不能等于其他的任何数字,并且i必须大于0,不能大于等于0.

如果按照i=0;i


代码示例

class Solution {
    public List<List<Integer>> levelOrder(TreeNode root) {
        Queue<TreeNode> queue = new LinkedList<>();
        List<List<Integer>> res = new ArrayList<>();
        if(root != null){
           queue.add(root);
        }
        while(!queue.isEmpty()) {
            List<Integer> tmp = new ArrayList<>();
            //注意这块的循环必须这样写
            for(int i = queue.size(); i > 0; i--) {
                TreeNode node = queue.poll();
                tmp.add(node.val);
                if(node.left != null){
                   queue.add(node.left);
                }
                if(node.right != null){
                   queue.add(node.right);
                }
            }
            res.add(tmp);
        }
        return res;
    }
}

2.png





相关文章
|
机器学习/深度学习 数据采集 算法
基于 UNet 的农业图像的分割| 学习笔记
快速学习基于 UNet 的农业图像的分割。
基于 UNet 的农业图像的分割| 学习笔记
|
jenkins 持续交付
Jenkins 问题 No such plugin: cloudbees-folder
Jenkins 问题 No such plugin: cloudbees-folder
842 0
|
存储 人工智能 自然语言处理
OpenSearch LLM智能问答版全新升级
阿里云OpenSearch LLM智能问答版近期全新升级,新增最新版开源大模型、多模态模型、切片策略升级等产品能力。
2314 2
|
存储 API 图形学
Unity精华☀️二、到底是什么原因导致“万向锁”?旋转翻车的终极解析!
Unity精华☀️二、到底是什么原因导致“万向锁”?旋转翻车的终极解析!
|
11月前
|
API 开发者 UED
自学记录鸿蒙API 13:PreviewKit从文件预览到应用开发
通过学习API 13,我深入研究了**PreviewKit(文件预览服务)**。该模块支持快速预览多种文件类型(文本、图片、视频、音频、PDF等),为文件管理类应用提供系统级支持。本文分享了从搭建开发环境到实现单文件和多文件预览的全过程,并介绍了如何构建一个实用的文件预览助手应用。通过实践,不仅掌握了技术细节,还提升了个人开发能力。希望这些经验能为其他开发者带来启发与帮助。
260 10
自学记录鸿蒙API 13:PreviewKit从文件预览到应用开发
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何进行本地部署
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
452 2
|
存储 XML 缓存
医院信息管理系统之PACS系统组成和系统流程
医院信息管理系统之PACS系统组成和系统流程
1067 0
|
敏捷开发 数据挖掘 项目管理
如何让团队高效运转?协同工具在项目管理中的妙用
本文探讨了如何通过协同工具提升团队效率,介绍了团队高效运转的关键因素,包括清晰的目标设定、有效的沟通机制、合理的任务分配、实时的进度跟踪、激励机制与反馈,以及工具的正确选择。文章还推荐了几款实用的办公协同工具,如板栗看板、Jira、Confluence 和 Slack,帮助团队在项目管理中实现高效协作。
388 0
|
SQL 数据采集 数据挖掘
如何使用SQL进行数据清洗?
【7月更文挑战第27天】如何使用SQL进行数据清洗?
977 7
|
XML JSON Java
【开源视频联动物联网平台】LiteFlow
【开源视频联动物联网平台】LiteFlow
352 1