大家好,我是吴师兄,直接开始今天的算法学习,冲冲冲。
一、题目描述
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
例如: 给定二叉树:[3,9,20,null,null,15,7],
3
/
920
/
157
返回:
[3,9,20,15,7]
二、保姆级参考代码
//登录AlgoMooc官网获取更多算法图解
//https://www.algomooc.com
//作者:程序员吴师兄
classSolution{
publicint[]levelOrder(TreeNoderoot){
//根节点为空的情况返回空数组
if(root==null)returnnewint[0];
//生成一个队列,用来保存节点
Queuequeue=newLinkedList<>();
//生成一个list,用来保存输出的节点
Listlist=newArrayList<>();
//首先让根节点入队
queue.add(root);
//遍历队列,直到队列为空
while(!queue.isEmpty()){
//获取队列的头部元素
TreeNodenode=queue.poll();
//把结点值存放到list中
list.add(node.val);
//判断该节点是否有左右子节点
//如果左子节点有值,则把左子节点加入到队列中
if(node.left!=null){
queue.add(node.left);
}
//如果右子节点有值,则把右子节点加入到队列中
if(node.right!=null){
queue.add(node.right);
}
}
//根据题目要求,把list转化为数组
int[]res=newint[list.size()];
for(inti=0;i< list.size(); i++) {
res[i] = list.get(i);
}
//返回res
returnres;
}
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
算法
+关注
关注
23文章
4800浏览量
98515 -
二叉树
+关注
关注
0文章
74浏览量
12995
原文标题:面试官:让你打印一下二叉树,有必要这么麻烦吗?
文章出处:【微信号:TheAlgorithm,微信公众号:算法与数据结构】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
热点推荐
工作流插件节点节点说明
插件节点用于在工作流中调用插件运行指定工具。
插件是一系列工具的集合,每个工具都是一个可调用的API。插件广场上架的插件或已上架的团队插件支持以节点形式被集成到工作流中,拓展智能体的能
发表于 03-23 16:54
嵌入式春招笔试高频算法题(附解题思路)
(char *str),否则无法修改字符串内容(笔试常考错误点)。
四、高频算法题4:进制转换(嵌入式特色,必考)
嵌入式开发中,经常涉及进制转换(十进制→二进制/十六进制),是春招笔试的特色
发表于 03-18 10:08
工作流节点说明开始节点
必填),和一个默认的输入参数EVENT_INPUT(非必填)。表示用户在本轮对话中输入的原始内容。开发者也可以按需添加其他自定义输入参数。
开始节点配置说明如下:
输入参数说明
1、自定义参数:开始
发表于 03-13 14:52
deepin/UOS系统打印机配置指南
无论是家庭使用还是办公环境,打印机都是我们日常工作和学习中不可或缺的设备。在 deepin 或 UOS 系统中,打印机配置可以非常简单,大多
亿纬锂能与杭叉集团达成战略合作
近日,亿纬锂能与杭叉集团2025年战略研讨会暨战略合作协议签约仪式在杭州举行。亿纬锂能副总裁、商用车电池产品线总裁江吉兵博士,亿纬锂能商用车电池产品线国内销售部总经理井振江,杭叉集团董事、副总经理兼
C语言的常见算法
= next;
}
return prev;
}
```
### 二叉树遍历 (前序)
```c
struct TreeNode {
int val;
struct TreeNode
发表于 11-24 08:29
通过优化代码来提高MCU运行效率
选择时间复杂度低的算法。
根据访问模式选择数据结构。频繁查找用哈希表,有序数据用二叉树等。
查表法:对于复杂的数学计算(如sin, log),或者协议解析,预先计算好结果存于数组中,用空间换时间
发表于 11-12 08:21
e203除法器算法改进(二)
的迭代进行可以表示为:
r{i}=beta r{i-1}-q{i}D
(其中r{i}表示第i次部分余数,r{i-1}表示第i-1次的部分余数,beta表示选择的基数在SRT-4算法中为4,q{i
发表于 10-22 06:11
FPGA在机器学习中的具体应用
,越来越多地被应用于机器学习任务中。本文将探讨 FPGA 在机器学习中的应用,特别是在加速神经网络推理、优化算法和提升处理效率方面的优势。
亿纬锂能荣获杭叉集团2022-2024年度优秀供应商奖
近日,亿纬锂能凭借卓越产品、可靠交付与优质服务荣获杭叉集团颁发的“2022-2024年度优秀供应商”奖。杭叉集团副总经理兼杭叉电器董事长金华曙、杭叉电器总经理兼杭博电机总经理李明辉出席
高压放大器在EHD电流体打印系统中的应用研究
电场力驱动墨滴喷射。打印时,高电压使墨滴在强电场下产生电动力学效应,从而精准控制墨滴位置和大小,实现高分辨率、高速度、低成本打印,适用于标签、包装、广告等领域。 图:ATA-7000系列高压放大器在EHD打印电子点胶技术
下一代高速芯片晶体管解制造问题解决了!
在半导体工艺演进到2nm,1nm甚至0.7nm等节点以后,晶体管结构该如何演进?2017年,imec推出了叉片晶体管(forksheet),作为环栅(GAA)晶体管的自然延伸。不过,产业对其可制造
发表于 06-20 10:40
扫码枪直连打印机扫产品上的条码二维码,自动打印对应的条码标签
在现代企业的生产、仓储、物流等环节中,条码标签的打印与使用是一项极为常见却又至关重要的工作。传统的依靠电脑连接条码打印机的打印方式,在面对大规模、高频次的
算法学习中如何打印二叉树节点
评论