BFS template

public List<List<Integer>> levelOrder(TreeNode root) {  
     Queue<TreeNode> queue = new LinkedList<>();  
     List<List<Integer>> res = new ArrayList<>();  
     if (root == null) return res;  
     queue.offer(root);  
     while (!queue.isEmpty()) {  
       List<Integer> temp = new ArrayList<>();  
       int size = queue.size();  
       for (int i = 0; i < size; i++) {  
          TreeNode cur = queue.poll();  
          temp.add(cur.val);  
          // add children
     }  
     res.add(temp);  
     }  
     return res;  
   }  

评论

此博客中的热门博文

663. Equal Tree Partition

776. Split BST

426. Convert Binary Search Tree to Sored Doubly Linked List