首页 > 代码库 > 二叉树层次遍历
二叉树层次遍历
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 }
二叉树层次遍历
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。