import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */ public class Solution { private ArrayList<ArrayList<Integer>> resList=new ArrayList<>(); /** * * @param root TreeNode类 * @return int整型ArrayList<ArrayList<>> */ public ArrayList<ArrayList<Integer>> levelOrder (TreeNode root) { // write code here order(root,0); return resList; } //借用i来表示当前结点是第几层,然后把它加入到相应层的list中。 public void order(TreeNode node,int i){ if(node==null){ return; } if(resList.size()<=i){ resList.add(new ArrayList<Integer>()); } resList.get(i).add(node.val); //递归 order(node.left,i+1); order(node.right,i+1); } }