注意层序遍历的时候对每一层的处理方式可能不同,这里把每一层的元素保存进一个List中了,那么就需要记录每一层的数量。

    	public List<List<Integer>> search(TreeNode root){
List<List<Integer>> result = new ArrayList<List<Integer>>(); Queue<TreeNode> queue = new LinkedList<TreeNode>();
if (root == null) {
return result;
}
queue.offer(root); while(!queue.isEmpty()){
List<Integer> row = new ArrayList<Integer>();
int size = queue.size();
for(int i=0; i<size; i++){
TreeNode now = queue.poll();
row.add(now.val);
if(now.left != null)queue.offer(now.left);
if(now.right != null)queue.offer(now.right);
}
result.add(row);
}
return result;
}

最新文章

  1. 76 mkswaP-用于设置交换区
  2. React Native填坑之旅--与Native通信之iOS篇
  3. 62.Android之各分辨率定义的图片规格
  4. JS 函数--Date()函数
  5. MVC用户登录方法(lamda表达式)
  6. Android调用相册截取图片遇到的问题
  7. A Tour of Go Switch evaluation order
  8. [Thinkbayes]贝叶斯思维读书笔记-1-贝叶斯定理
  9. 使用LR11录制手机脚本
  10. js简单固定table表头及css问题分析。
  11. 扩展方法where方法查询不到数据,不会抛异常,也不是返回的null
  12. web站点优化之使用tengine搭建静态资源服务器,静态资源合并加载案例剖析
  13. 新安装的soapui启动时报错及解决方法
  14. Controller层aop
  15. Fiddler系列教程1:初识Http协议抓包工具
  16. ML实践详细经典教程----用例图、顺序图、状态图、类图、包图、协作图
  17. Intellij IDEA:maven的本地仓库问题
  18. Tutorial: Getting Started with Spring Security
  19. Ubuntu修改桌面为Desktop
  20. mmcm 和pll

热门文章

  1. iOS弹窗UIAlertAction用法
  2. 浅谈Java回收对象的标记和对象的二次标记过程_java - JAVA
  3. SQL结果统计 GROUP BY
  4. Codeforces Round #287 (Div. 2) E. Breaking Good 路径记录!!!+最短路+堆优化
  5. lookup-method和replace-method注入
  6. ArrayList遍历的三种方法
  7. Hive数据导入Elasticsearch
  8. phpstorm的下载激活及定制使用和设置
  9. 课上作业补交 p526/syscalls1
  10. js 放回上一页