面试题:把二叉树打印成多行
Posted aaron12
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题:把二叉树打印成多行相关的知识,希望对你有一定的参考价值。
题目描述:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
思路:借助队列实现
import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; public class Solution { ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) { ArrayList<ArrayList<Integer>> result=new ArrayList<>(); if(pRoot==null) return result; Queue<TreeNode> queue=new LinkedList<>(); queue.add(pRoot); while(!queue.isEmpty()){ int curNodeNum=queue.size(); ArrayList<Integer> temp=new ArrayList<>(); while(curNodeNum>0){ TreeNode node=queue.poll(); temp.add(node.val); if(node.left!=null) queue.add(node.left); if(node.right!=null) queue.add(node.right); curNodeNum--; } result.add(temp); } return result; } }
以上是关于面试题:把二叉树打印成多行的主要内容,如果未能解决你的问题,请参考以下文章