Tuesday, March 6, 2018

69. Binary Tree Level Order Traversal

/*
            想到了用queue但是对 queue的使用不熟练
            LinkedList 用来实现queue方法是 poll,offer,size
       
        */
       List result = new ArrayList();
     
       if (root == null) {
           return result;
       }
     
       Queue<TreeNode> queue = new LinkedList<TreeNode>();
        queue.offer(root);
       
        while(!queue.isEmpty()) {
            ArrayList<Integer> level = new ArrayList<>();
            int size = queue.size();
            for(int i = 0; i<size; i++) {
                TreeNode temp = queue.poll();
                level.add(temp.val);
                if(temp.left != null) {
                    queue.offer(temp.left);
                }
                if(temp.right != null) {
                    queue.offer(temp.right);
                }
            }
            result.add(level);
        }
        return result;
    }


LinkedList Method:

  • poll
  • offer
  • size
ArrayList Method:

  • add

No comments:

Post a Comment

4. Ugly Number

1*2(t2) 2*2 3*2 (t3)1*3 2*3 3*3 (t5)1*5 2*5 3*5 1*2 2*2(t2) 3*2 1*3(t3) 2*3 3*3 (t5)1*5 2*5 3*5 Solution: public int nthUglyNumbe...