| 16 | class Solution { |
| 17 | |
| 18 | public List<List<Integer>> levelOrder(TreeNode root) { |
| 19 | List<List<Integer>> res = new ArrayList<>(); |
| 20 | Queue<TreeNode> queue = new LinkedList<>(); |
| 21 | |
| 22 | if (root == null) return res; |
| 23 | |
| 24 | queue.add(root); |
| 25 | while (!queue.isEmpty()) { |
| 26 | int len = queue.size(); |
| 27 | List<Integer> level = new ArrayList<>(); |
| 28 | for (int i = 0; i < len; i++) { |
| 29 | TreeNode curr = queue.poll(); |
| 30 | level.add(curr.val); |
| 31 | if (curr.left != null) { |
| 32 | queue.add(curr.left); |
| 33 | } |
| 34 | if (curr.right != null) { |
| 35 | queue.add(curr.right); |
| 36 | } |
| 37 | } |
| 38 | res.add(level); |
| 39 | } |
| 40 | return res; |
| 41 | } |
| 42 | } |