剑指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. 把二叉树打印成多行的主要内容,如果未能解决你的问题,请参考以下文章