public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) {
  ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>();
   if (root == null) {
           return res;
       }
  Queue<TreeNode> q = new LinkedList<TreeNode>();
  q.add(root);
 while (!q.isEmpty()) {
    ArrayList<Integer> tmp = new ArrayList<Integer>();
    int size = q.size();
  for (int i = 0; i < size; i++) {
      TreeNode cur = q.poll();
      tmp.add(cur.val);
      if (cur.left != null) q.add(cur.left);
      if (cur.right != null) q.add(cur.right); 
    }
     res.add(tmp);
  }
  return res;
}

results matching ""

    No results matching ""