public class Solution {
    /**
     * 
     * @param root TreeNode类 
     * @return int整型ArrayList<ArrayList<>>
     */
    public ArrayList<ArrayList<Integer>> levelOrder (TreeNode root) {
        // write code here

        Queue <TreeNode>queue=new LinkedList();
        ArrayList<ArrayList<Integer>> list=new ArrayList();

        if (root != null) {
            queue.add(root);
        }
        while(!queue.isEmpty()){
            int len=queue.size();
            ArrayList temp=new ArrayList();
            for(int i=0;i<len;i++){

            TreeNode node= queue.poll();
            temp.add(node.val);
            if(node.left!=null){queue.add(node.left);}
            if(node.right!=null){queue.add(node.right);}

            }
            list.add(temp);

        }
        return list;

    }
}