把二叉树打印成多行
来源:互联网 发布:mac的iphone在哪 编辑:程序博客网 时间:2024/05/29 08:37
题目描述
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) { ArrayList<ArrayList<Integer>> lists = new ArrayList<ArrayList<Integer>>(); if (pRoot == null) { return lists; } Deque<TreeNode> deque = new ArrayDeque<TreeNode>(); deque.push(pRoot); while (!deque.isEmpty()) { int low = 0; int layerNum = deque.size(); ArrayList<Integer> list = new ArrayList<Integer>(); // 根据low、layerNum变量就可以知道每层的节点个数 while (low++ < layerNum) { TreeNode temp = deque.pop(); list.add(temp.val); if (temp.left != null) { deque.offer(temp.left); // 注意不是push() } if (temp.right != null) { deque.offer(temp.right); } } lists.add(list); } return lists; }
0 0
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 把二叉树打印成多行
- 64位系统如何安装libsvm
- Git回滚的常用手法
- In eclipse: A child container failed during start and Failed to start components
- Windows端口占用情况
- Android Studio查看源代码报错
- 把二叉树打印成多行
- Thread.sleep() 和 Thread.yield() 区别
- 官方Caffe—Microsoft编译安装
- iOS 数组使用 valueForKeyPath:计算求和、平均值、最大、最小
- memset初始化内存
- Java集合Collection总结
- tomcat6源码的启动和部署工程备注
- 《Windows API》使用对话框资源创建窗口
- 并发下诡异的HashMap