从上往下打印二叉树(层序遍历)
2023-04-18 13:04:20 时间
题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
例如,以下二叉树层次遍历的结果为:1,2,3,4,5,6,7
解题思路
使用队列来进行层次遍历。
不需要使用两个队列分别存储当前层的节点和下一层的节点,因为在开始遍历一层的节点时,当前队列中的节点数就是当前层的节点数,只要控制遍历这么多节点数,就能保证这次遍历的都是当前层的节点。
public class PrintFromTopToBottom {
public List<Integer> printFromTopToBottom(TreeNode root) {
Queue<TreeNode> queue = new LinkedList<>();
List<Integer> ret = new ArrayList<>();
queue.add(root);
while (!queue.isEmpty()) {
int cnt = queue.size();
while (cnt-- > 0) {
TreeNode t = queue.poll();
if (t == null)
continue;
ret.add(t.val);
queue.add(t.left);
queue.add(t.right);
}
}
return ret;
}
}
相关文章
- 每日算法之链表中环的入口结点
- 从零入门开源框架---若依(前后端分离版)
- 七夕节,我用代码制作了表白信封
- idea提交git时过滤掉不必要的文件
- Openlayers 快速上手教程
- 每日算法之调整数组顺序使奇数位于偶数前面(一)
- ERROR Failed to compile with 1 error
- 即将2023年了,我好想念那些2022年离职的兄弟
- 没用好mybatisplus的Wrapper,我真尴尬啊
- CORS错误是什么如何解决?
- 十二条后端开发经验分享,纯干货,总有一条你不知道
- 每日算法之数值的整数次方
- 手机+PC电脑如何使用油猴插件和油猴脚本?
- 第1章-数据结构与算法是什么
- 多端统一开发解决方案---Taro
- 如何定位线上问题?
- CSS架构之BEM设计模式
- 前端国密加解密使用方法SM2、SM3、SM4
- 【小程序从0到1】WXSS模版语法汇总
- 使用react实现后台管理系统项目