JZ-060-把二叉树打印成多行
把二叉树打印成多行 题目描述
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。代码
【JZ-060-把二叉树打印成多行】题目链接: 把二叉树打印成多行
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Queue;
/**
* 标题:把二叉树打印成多行
* 题目描述
* 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
* 题目链接:
* https://www.nowcoder.com/practice/445c44d982d04483b04a54f298796288?tpId=13&&tqId=11213&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
*/
public class Jz60 {/**
* 递归
**/
ArrayList> print(TreeNode pRoot) {
Queue treeNodes = new LinkedList();
ArrayList> result = new ArrayList>();
treeNodes.add(pRoot);
while (!treeNodes.isEmpty()) {
Queue curNodes = new LinkedList();
curNodes.addAll(treeNodes);
while (!treeNodes.isEmpty()) {
treeNodes.poll();
}
ArrayList curList = new ArrayList();
while (!curNodes.isEmpty()) {
TreeNode t = curNodes.poll();
if (t == null) {
continue;
}
curList.add(t.val);
treeNodes.add(t.left);
treeNodes.add(t.right);
}
if (!curList.isEmpty()) {
result.add(curList);
}
}
return result;
}public static void main(String[] args) {}
}
【每日寄语】 请你再悄悄地努力一下,但愿有一天你可以说出那句话,我终于成为了不负众望的人了。
推荐阅读
- 死结。
- Y房东的后半生14
- Eddy小文
- 人如果没梦想,和咸鱼有什么区别(自媒体时代把握住就能咸鱼翻身)
- java中如何实现重建二叉树
- [青春]翔(五)
- 把一切献给现在
- 早知道你是只飞鸟,我就应该把你关起来
- 做学生的良师益友
- 不舍