import java.util.ArrayList; /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) { ArrayList<ArrayList<Integer> > res = new ArrayList<ArrayList<Integer> >(); ArrayList<Integer> list = new ArrayList<Integer>(); // pRoot为空 if(pRoot == null){ return res; } // pRoot不为空 ArrayList<TreeNode> tList = new ArrayList<TreeNode>(); TreeNode temp = null; // 指针 tList.add(pRoot); int size = 0; while(tList.size() != 0){ size = tList.size(); for(int i = 0;i < size;i++){ temp = tList.remove(0); if(temp.left != null){ tList.add(temp.left); } if(temp.right != null){ tList.add(temp.right); } list.add(temp.val); } res.add(new ArrayList<Integer>(list)); list.clear(); } return res; } }