一、题目内容

image.png

二、题解

解法1:

思路

队列

代码

  1. public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) {
  2. ArrayList<ArrayList<Integer>> ans = new ArrayList<>();
  3. if (root == null) {
  4. return ans;
  5. }
  6. Queue<TreeNode> queue = new LinkedList<>();
  7. queue.add(root);
  8. while (!queue.isEmpty()) {
  9. int size = queue.size();
  10. ArrayList<Integer> curList = new ArrayList<>();
  11. for (int i = 0; i < size; i++) {
  12. TreeNode node = queue.poll();
  13. curList.add(node.val);
  14. if (node.left != null) {
  15. queue.offer(node.left);
  16. }
  17. if (node.right != null) {
  18. queue.offer(node.right);
  19. }
  20. }
  21. ans.add(curList);
  22. }
  23. return ans;
  24. }