import java.util.*; public class Solution { ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) { ArrayList<ArrayList<Integer> > res = new ArrayList<>(); if(pRoot == null) return res; Queue<TreeNode> queue = new LinkedList<>(); queue.offer(pRoot); while(!queue.isEmpty()) { int size = queue.size(); ArrayList<Integer> list = new ArrayList<>(); for(int i = 0; i < size; i++) { TreeNode node = queue.poll(); list.add(node.val); if(node.left != null) { queue.offer(node.left); } if(node.right != null) { queue.offer(node.right); } } res.add(list); } return res; } }