利用Queue——LinkedList
    queue.offer()
    quque.poll()
    queue.peek()

    1. import java.util.*;
    2. /*
    3. * public class TreeNode {
    4. * int val = 0;
    5. * TreeNode left = null;
    6. * TreeNode right = null;
    7. * }
    8. */
    9. public class Solution {
    10. /**
    11. *
    12. * @param root TreeNode
    13. * @return int整型ArrayList<ArrayList<>>
    14. */
    15. public ArrayList<ArrayList<Integer>> levelOrder (TreeNode root) {
    16. // write code here
    17. ArrayList<ArrayList<Integer>> res= new ArrayList<>();
    18. if(root == null){
    19. return res;
    20. }
    21. Queue<TreeNode> queue = new LinkedList<TreeNode>();
    22. queue.offer(root);
    23. while(!queue.isEmpty()){
    24. ArrayList<Integer> level = new ArrayList<Integer>();
    25. int levelNum = queue.size();
    26. for(int i=0; i<levelNum; i++){
    27. if(queue.peek().left!=null){
    28. queue.offer(queue.peek().left);
    29. }
    30. if(queue.peek().right!=null){
    31. queue.offer(queue.peek().right);
    32. }
    33. level.add(queue.poll().val);
    34. }
    35. res.add(level);
    36. }
    37. return res;
    38. }
    39. }