题目描述
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
代码
public class Solution60 {
ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) {
ArrayList<ArrayList<Integer>> result = new ArrayList<>();
if (pRoot==null)
return result;
Queue<TreeNode> queue = new edList<>();
queue.add(pRoot);
while (!queue.isEmpty()) {
int start = 0, end = queue.size();
ArrayList<Integer> = new ArrayList<>();
while (start++ < end) {
TreeNode cur = queue.poll();
.add(cur.val);
if (cur.left != null) {
queue.add(cur.left);
}
if (cur.right != null) {
queue.add(cur.right);
}
}
result.add( );
}
return result;
}
public static void main(String[] args) {
int[] a = {1, 5, 7, 11, 43, 12, 45, 32, 23, 9, 21};
TreeNode tree = BeanUtil.createCompleteBinaryTree(a);
BeanUtil.printTreeStructure(tree, tree.val, 0);
ArrayList<ArrayList<Integer>> res = new Solution60().Print(null);
for (ArrayList<Integer> arr:res){
BeanUtil.print(arr);
BeanUtil.printReturn();
}
}
}
继续阅读与本文标签相同的文章
-
源码分析 RocketMQ DLedger 多副本存储实现
2026-05-18栏目: 教程
-
阿里巴巴小程序繁星计划技术能力支持指南
2026-05-18栏目: 教程
-
Spring Cloud Alibaba实战(一) - 概述
2026-05-18栏目: 教程
-
php系列----->通过PHP数组实现队列
2026-05-18栏目: 教程
-
MySQL 数据库铁律
2026-05-18栏目: 教程
