Advertisement
unknown_0711

Untitled

Nov 1st, 2022
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. class Solution {
  2. public List<List<Integer>> zigzagLevelOrder(TreeNode root) {
  3. final List<List<Integer>> ans = new ArrayList<>();
  4. // sanity check
  5. if (root == null)
  6. return ans;
  7.  
  8. final Deque<TreeNode> queue = new ArrayDeque<>();
  9. queue.addLast(root);
  10. int level = 0;
  11.  
  12. while (!queue.isEmpty()) {
  13. final int sizeQ = queue.size();
  14. final List<Integer> intermediate = new ArrayList<>();
  15.  
  16. for (int i = 0; i < sizeQ; ++i) {
  17. final TreeNode cur = queue.removeFirst();
  18. intermediate.add(cur.val);
  19.  
  20. if (cur.left != null)
  21. queue.add(cur.left);
  22. if (cur.right != null)
  23. queue.add(cur.right);
  24. }
  25. if (level % 2 != 0) Collections.reverse(intermediate);
  26. ++level;
  27. ans.add(new ArrayList<>(intermediate));
  28. }
  29.  
  30. return ans;
  31. }
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement