LeetCode:103 二叉树的锯齿形层次遍历
我写的bug也太多了
class Solution { public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> res = new LinkedList<List<Integer>>(); if(root==null){ return res; } int t=1; List<TreeNode> que = new ArrayList<TreeNode>(); que.add(root); while(que.size()!=0){ t = t % 2; int size = que.size(); List<Integer> tmp = new LinkedList<Integer>(); if(t==1){ for(int i=1;i<=size;i++){ TreeNode n = que.remove(0); if(n.left!=null) que.add(n.left); if(n.right!=null) que.add(n.right); tmp.add(n.val); } t++; } else{ t++; for(int i=1;i<=size;i++){ TreeNode n = que.remove(0); if(n.left!=null) que.add(n.left); if(n.right!=null) que.add(n.right); tmp.add(0,(Integer)n.val); } } res.add(tmp); } return res; } }