1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
class { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> wrapList=new LinkedList<List<Integer>>(); if(root==null) return wrapList; boolean flag=true; Queue<TreeNode> queue=new LinkedList<TreeNode>(); queue.offer(root); while(!queue.isEmpty()) { int level=queue.size(); List<Integer> subList=new LinkedList<>(); for(int i=0;i<level;i++) { TreeNode n=queue.poll(); if(flag) { subList.add(n.val); } else { subList.add(0,n.val); } if(n.left!=null) queue.offer(n.left); if(n.right!=null) queue.offer(n.right); } flag=flag?false:true; wrapList.add(subList); } return wrapList; } }
|
近期评论