1. 程式人生 > >二叉樹層次遍歷

二叉樹層次遍歷

!= problem splay color list gif 二叉樹層次遍歷 eno empty

http://www.lintcode.com/zh-cn/problem/binary-tree-level-order-traversal/#

錯誤點:queue是抽象的,實例化時,實例成LinkedList

    q.isEmpyt() 不是q.empty()

    入隊 q.offer(E) 出隊 q.poll()

技術分享
 1 public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) {
 2         ArrayList<ArrayList<Integer>> result = new
ArrayList<ArrayList<Integer>>(); 3 if(root == null) return result; 4 Queue<TreeNode> q = new LinkedList<TreeNode>(); 5 q.offer(root); 6 ArrayList<Integer> arr = null; 7 while(!q.isEmpty()){ 8 arr = new ArrayList<Integer>();
9 int num = q.size(); 10 for(int i = 0; i <num; i++) { 11 TreeNode temp = q.poll(); 12 arr.add(temp.val); 13 if(temp.left != null) q.offer(temp.left); 14 if(temp.right != null) q.offer(temp.right); 15 }
16 result.add(arr); 17 } 18 return result; 19 }
View Code

二叉樹層次遍歷