LeetCode——从上到下打印二叉树 II

news/2025/2/22 0:04:18/

题目来源

剑指 Offer 32 - II. 从上到下打印二叉树 II - 力扣(LeetCode)

题目

从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。

示例

给定二叉树:[3,9,20,null,null,15,7]

返回其层次遍历结果:

[[3],[9,20],[15,7]
]

 解析:

该题是二叉树层次遍历的另一种形式,要想做出该题,首先要明白层次遍历的原理,下面来复习一下层次遍历:

层次遍历的实现需要借助队列实现,首先将根结点入队,如果队列不为空,则取出队列的队头节点cur,并输出队头节点的值cur.value;然后,若队头节点的左孩子不为空,即cur.left!=null,则将其入队;若队头节点的右孩子不为空,即cur.right!=null,则将其入队;然后循环上述步骤,直至队列为空。

    public static void levelOrder(Node root) {if (root == null) {return;}Queue<Node> queue = new LinkedList<>();queue.offer(root);while (!queue.isEmpty()) {Node cur = queue.poll();System.out.print(cur.value+" ");if (cur.left != null) {queue.offer(cur.left);}if (cur.right != null) {queue.offer(cur.right);}}}

 本题是将二叉树的每层以链表的形式输出,但其思想仍然是层次遍历的思想,其具体实现如下:

class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> list=new ArrayList<>();//如果树为空,则返回if(root==null){return list;}//如果树不为空//借助队列Queue<TreeNode> queue=new LinkedList<>();queue.offer(root);//将根结点入队while(!queue.isEmpty()){ArrayList<Integer> arraylist=new ArrayList<>();int size= queue.size();for(int i=0;i<size;i++){TreeNode cur=queue.poll();arraylist.add(cur.val);if(cur.left!=null){queue.offer(cur.left);}if(cur.right!=null){queue.offer(cur.right);}}list.add(arraylist);}return list;}
}


http://www.ppmy.cn/news/664585.html

相关文章

Java实现将数据转成xmind脑图(附有工具类)。

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;Java、工具类、xmind、脑图、转换☀️每日 一言&#xff1a;昨日已成过去,未来充满可能,唯有珍惜现在。 [TOPC] 前言 当谈到Xmind时&#xff0c;这是一个非常流行的思维导图工具&#xff0c;可…

计算机硬件中内存的作用是什么,系统硬件中内存XMP是什么意思?有必要开吗?内存XMP模式的作用与开启教程...

系统硬件中内存是电脑与CPU进行沟通的桥梁,它是一台电脑不可或缺的硬件之一,重要性至关重要。而我们在选购内存的时候,会看到在一些内存参数中注明支持X.M.P,那么电脑内存XMP是什么意思?有必要开吗?下面小编为大家分享一下关于内存XMP模式的作用与开启教程,大家来学习一…

c语言程序设计干什么的 华硕,亲历华硕的面试过程

亲历华硕的面试过程 下午1&#xff1a;30的笔试。中午12&#xff1a;00从学校出发&#xff0c;大概1&#xff1a;05到了那儿。路线是地铁到莘庄&#xff0c;换五号线到银都路。下来后看到莘庄工业园区的大牌子&#xff0c;那条与轻轨垂直的路就是银都路&#xff0c;沿则走到第一…

华硕aura完全卸载_AURA神光同步是什么意思?AURA SYNC神光同步教程

如果想要组装一台电脑,那么我们就需要精选每一个硬件,了解各个硬件的参数,相信您在选购硬件的时候,经常可以看到主板、机箱、内存、风扇、CPU散热器等硬件支持RGB神光同步,这些硬件特别适合喜爱光污染人群,那么AURA神光同步是什么意思?下面装机之家分享一下AURA SYNC神光…

个人计算机品牌,pc机主要品牌,pc机是什么

如今&#xff0c;计算机已经成我们生活中不可分割的一个部分&#xff0c;也是每个家庭中必备的数码家电之一。 针对近期需要购买PC的朋友&#xff0c;小兔为大家整理了部分热门pc机的价格。 联想Lenovo1.联想Erazer异能者D3000&#xff1a;Intel赛扬四核CPU&#xff0c;2GBROM5…

pyecharts图形在Jupyter-notebook中不显示问题

问题&#xff1a;在jupyter-notebook中使用pyecharts作图&#xff0c;渲染到jupyter中不显示 图形对象.render_notebook(foo.html)原因&#xff1a;渲染图形的echarts的js静态资源加载不出来 <script type"text/javascript" src"https://assets.pyecharts.…

Java安全——存取控制器

Java安全 存取控制器 Java安全中的存取控制器是一种技术&#xff0c;用于控制访问应用程序中的资源。它的基本思想是允许或拒绝特定用户对系统资源的访问。存取控制器包括四个关键部分: 主体(subject), 权限(permission), 对象(object)和存取控制策略(access control policy)。…

从风光到巨额亏损 老企业夏普衰落真相是什么?

从“日本最创新的企业”和“液晶之父”的神坛上跌落&#xff0c;夏普最终找到了鸿海这根救命稻草。郭台铭入主一年后的夏普&#xff0c;财务状况与经营状况均已好转&#xff0c;在这个创新速度比眨眼速度还快的时代&#xff0c;靠吃老本的夏普能够重现辉煌? 鸿海董事长郭台铭…