class Solution {
public List<List<Integer>> levelOrder(TreeNode root) {
List<List<Integer>> res = new LinkedList();
function(root,res,0);
return res;
}
private void function(TreeNode root,List res,int height){
if(root==null) return;
if(res.size()==height) res.add(new LinkedList());
List temp = (List)res.get(height);
temp.add(root.val);
function(root.left,res,height+1);
function(root.right,res,height+1);
}
}
=======================================================
class Solution {
public List<List<Integer>> levelOrder(TreeNode root) {
List<List<Integer>> res = new LinkedList();
if(root==null) return res;
LinkedList<TreeNode> queue1 = new LinkedList();
LinkedList<TreeNode> queue2;
LinkedList<Integer> list;
queue1.add(root);
while(queue1.size()!=0){
list = new LinkedList();
queue2 = new LinkedList();
while(queue1.size()!=0){
TreeNode temp = queue1.poll();
list.add(temp.val);
if(temp.left!=null) queue2.add(temp.left);
if(temp.right!=null) queue2.add(temp.right);
}
res.add(list);
queue1 = queue2;
}
return res;
}
}