这道题目,一刷用Queue就可以了
1 class Solution { 2 public List<List<Integer>> levelOrder(TreeNode root) { 3 List<List<Integer>> res = new ArrayList<>(); 4 if (root == null) { 5 return res; 6 } 7 8 Queue<TreeNode> queue = new LinkedList<>(); 9 queue.offer(root); 10 while (!queue.isEmpty()) { 11 int size = queue.size(); 12 List<Integer> sub = new ArrayList<>(); 13 for (int i = 0; i < size; i++) { 14 TreeNode cur = queue.poll(); 15 if (cur.left != null) { 16 queue.offer(cur.left); 17 } 18 if (cur.right != null) { 19 queue.offer(cur.right); 20 } 21 sub.add(cur.val); 22 } 23 res.add(new ArrayList<Integer>(sub)); 24 } 25 return res; 26 } 27 }