剑指offer-60
把二叉树打印成多行
http://www.nowcoder.com/questionTerminal/445c44d982d04483b04a54f298796288
层次遍历,用Queue,父节点出队时孩子节点入队,一层一个List
import java.util.*; public class Solution { ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) { ArrayList<ArrayList<Integer>> ans = new ArrayList<>(); Queue<TreeNode> queue = new LinkedList<>(); queue.add(pRoot); queue.add(null); while(!queue.isEmpty()&&queue.peek()!=null){ ArrayList<Integer> tempList = new ArrayList<>(); while(queue.peek()!=null){ TreeNode tNode = queue.poll(); tempList.add(tNode.val); if(tNode.left!=null){ queue.add(tNode.left); } if(tNode.right!=null){ queue.add(tNode.right); } } ans.add(tempList); queue.poll(); queue.add(null); } return ans; } }