Untitled
class Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> result = new ArrayList(); if(root == null) return result; Queue<TreeNode> q = new LinkedList(); q.add(root); boolean isLevelOdd = false; while(q.size() > 0) { int size = q.size(); List<Integer> level = new ArrayList(); while(size-- > 0) { root = q.poll(); level.add(root.val); if(root.left != null) q.add(root.left); if(root.right != null) q.add(root.right); } if(isLevelOdd) Collections.reverse(level); result.add(level); isLevelOdd = !isLevelOdd; } return result; } }
Leave a Comment