层序遍历,逐层添加结果
把二叉树打印成多行
http://www.nowcoder.com/questionTerminal/445c44d982d04483b04a54f298796288
思路很简单,一切尽在代码中,我自己认为的精华就是代码中count这一行
ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) { ArrayList<ArrayList<Integer>> result = new ArrayList<>(); if(pRoot == null){ return result; } Queue<TreeNode> queue = new LinkedList<>(); queue.offer(pRoot); while(!queue.isEmpty()){ int count = queue.size(); ArrayList<Integer> list = new ArrayList<>(); while(count>0){ TreeNode node = queue.poll(); list.add(node.val); if(node.left!=null){ queue.add(node.left); } if(node.right != null){ queue.add(node.right); } count--; } result.add(list); } return result; }