解题思路
层次遍历 广度优先搜索
public List<List<Integer>> zigzagLevelOrder(TreeNode root) {List<List<Integer>> ret = new ArrayList<>();Queue<TreeNode> queue = new LinkedList<>();queue.add(root);boolean reverse = false;while (!queue.isEmpty()) {List<Integer> list = new ArrayList<>();int cnt = queue.size();while (cnt-- > 0) {TreeNode node = queue.poll();if (node == null)continue;list.add(node.val);queue.add(node.left);queue.add(node.right);}if (reverse)Collections.reverse(list);reverse = !reverse;if (list.size() != 0)ret.add(list);}return ret;}
