剑指offer 60. 把二叉树打印成多行

Posted hi3254014978

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer 60. 把二叉树打印成多行相关的知识,希望对你有一定的参考价值。

60. 把二叉树打印成多行

题目描述

从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。

层序遍历即可

 1 import java.util.Queue;
 2 import java.util.LinkedList;
 3 public class Solution {
 4     ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {
 5         ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
 6         if(pRoot == null){
 7             return list;
 8         }
 9         // 层序遍历
10         Queue<TreeNode> queue = new LinkedList<TreeNode>();
11         queue.offer(pRoot);
12         TreeNode top;
13         while(!queue.isEmpty()){
14             int count = queue.size();
15             ArrayList<Integer> innerList = new ArrayList<Integer>();
16             for(int i = 0; i < count; i++){
17                 top = queue.poll();
18                 innerList.add(top.val);
19                 if(top.left != null)
20                     queue.offer(top.left);
21                 if(top.right != null)
22                     queue.offer(top.right);
23             }
24             list.add(innerList);
25         }
26         return list;
27     }
28     
29 }

 

以上是关于剑指offer 60. 把二叉树打印成多行的主要内容,如果未能解决你的问题,请参考以下文章

[剑指Offer] 60.把二叉树打印成多行

60剑指offer--把二叉树打印成多行

剑指offer60 把二叉树打印成多行

剑指Offer-60 把二叉树打印成多行

剑指offer系列——59/60.按之字形顺序打印二叉树/把二叉树打印成多行

剑指OFFER 把二叉树打印成多行