题目描述:将二叉树从上到下按层打印二叉树,同一层结点从左至右输出,每一层输出一行
思路:
1、二叉树的广度优先遍历,使用队列实现
2、二叉树每一层输出一行,需要一个变量来统计每一行的结点数
public ArrayList<ArrayList<Integer>> print(TreeNode pRoot){
if (pRoot==null){
return res;
}
Queue<TreeNode> queue=new LinkedList<>(); //使用队列
queue.offer(pRoot); //加入根结点
int sum=1;//用来代表每一层的结点个数。根结点开始为1
while (!queue.isEmpty()){
ArrayList<Integer> list=new ArrayList<>();
int temp=0;//用来记录每一层的结点个数
while (sum>0){
TreeNode poll = queue.poll();
list.