题目

解题思路
1、BFS / 双端队列

实现
1、BFS / 双端队列
class Solution { public List<List<Integer>> levelOrder(TreeNode root) { Queue<TreeNode> queue = new LinkedList<>(); List<List<Integer>> res = new ArrayList<>(); if (root != null) { queue.add(root); } while (!queue.isEmpty()) { LinkedList<Integer> tmp = new LinkedList<>(); for (int i = queue.size(); i > 0; i--) { TreeNode node = queue.poll(); if (res.size() % 2 == 0) { // 偶数层 -> 队列头部 tmp.addLast(node.val); } else { // 奇数层 -> 队列尾部 tmp.addFirst(node.val); } if (node.left != null) { queue.add(node.left); } if (node.right != null) { queue.add(node.right); } } res.add(tmp); } return res; }}
