一、题目内容

image.png

二、题解

解法1:

思路

队列

代码

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