首页 > 其他 > 详细

二叉树层次遍历

时间:2017-05-09 00:11:44      阅读:342      评论:0      收藏:0      [点我收藏+]

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

 

二叉树层次遍历

原文:http://www.cnblogs.com/ddcckkk/p/6828415.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!