import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * public TreeNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pRoot TreeNode类 * @return int整型ArrayList<ArrayList<>> */ public ArrayList<ArrayList<Integer>> Print (TreeNode pRoot) { // write code here ArrayList<ArrayList<Integer>> list = new ArrayList<>(); level(pRoot,0,list); for(int i = 1; i < list.size(); i+=2){ Collections.reverse(list.get(i)); } return list; } private void level(TreeNode pRoot, int i, ArrayList<ArrayList<Integer>> list) { // TODO if(pRoot == null){ return; } if(list.size()<=i){ list.add(new ArrayList<Integer>()); } list.get(i).add(pRoot.val); level(pRoot.left,i+1,list); level(pRoot.right,i+1,list); } }