1 public class Solution { 2 public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) { 3 ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>(); 4 LinkedList<TreeNode> cur = new LinkedList<TreeNode>(); 5 if(root==null) return res; 6 cur.offer(root); 7 while(!cur.isEmpty()){ 8 LinkedList<TreeNode> next = new LinkedList<TreeNode>(); 9 ArrayList<Integer> sol = new ArrayList<Integer>(); 10 for(TreeNode n :cur){ 11 sol.add(n.val); 12 if(n.left!=null) next.offer(n.left); 13 if(n.right!=null) next.offer(n.right); 14 } 15 res.add(sol); 16 cur = next; 17 } 18 return res; 19 } 20 }
Binary Tree Level Order Traversal
原文:http://www.cnblogs.com/krunning/p/3538793.html