Binary Tree Level Order Traversal I,II
2015-06-10 04:27
351 查看
Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).
For example:
Given binary tree
return its level order traversal as:
ref http://www.cnblogs.com/springfor/p/3891391.html
知道用queue但是如何控制cur level和next level,ref给出了计数var, 标准的bfs做法
Binary Tree Level Order Traversal II
res.add(0,cl);
For example:
Given binary tree
{3,9,20,#,#,15,7},
3 / \ 9 20 / \ 15 7
return its level order traversal as:
[ [3], [9,20], [15,7] ]
ref http://www.cnblogs.com/springfor/p/3891391.html
知道用queue但是如何控制cur level和next level,ref给出了计数var, 标准的bfs做法
public ArrayList<ArrayList<Integer>> levelOrder(TreeNode root) { ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>(); if(root==null) return res; ArrayList<Integer> cl = new ArrayList<Integer>(); LinkedList<TreeNode> q = new LinkedList<TreeNode>(); q.add(root); int curNum=1, nextNum=0; while(!q.isEmpty()){ TreeNode n = q.poll(); curNum--; cl.add(n.val); if(n.left!=null){ q.add(n.left); nextNum++; } if(n.right!=null){ q.add(n.right); nextNum++; } if(curNum==0){ res.add(cl); cl = new ArrayList<Integer>(); curNum =nextNum; nextNum = 0; } } return res; }
Binary Tree Level Order Traversal II
res.add(0,cl);
相关文章推荐
- 宇宙中为何存在“黑洞”?
- 辛星浅析跨域传输的CORS解决方案
- 不支持union select 时的asp手工注入方法
- 黑客帝国屏保源码
- 黑马程序员_IO流
- leetcode 223: Rectangle Area
- Symmetric Tree
- iOS Animation 主流炫酷动画框架(特效)收集整理 #91
- ruby日记1
- Same Tree
- Eclipse使用hibernate插件详解,有详细的图解,感觉不错
- 批量生成或合并gif格式图像的方法
- hdu1175连连看
- 天题系列: Recover Binary Search Tree
- Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)
- Unity中得Time类
- Unity与android互调
- Unity与Android互调
- 程序实践:电子备忘录
- HackerRank - "Manipulative Numbers"