103. Binary Tree Zigzag Level Order Traversal
2016-06-10 03:11
357 查看
和102是一样的
用Collections.reverse(list)来翻转list
用Collections.reverse(list)来翻转list
public List<List<Integer>> zigzagLevelOrder(TreeNode root) { List<List<Integer>> res = new ArrayList<List<Integer>>(); if(root == null) { return res; } LinkedList<TreeNode> queue = new LinkedList<TreeNode>(); queue.offer(root); int lastLevelCnt = 1; int curLevelCnt = 0; List<Integer> curLevel = new ArrayList<Integer>(); boolean reverse = false; while(!queue.isEmpty()) { TreeNode cur = queue.poll(); curLevel.add(cur.val); lastLevelCnt--; if(cur.left != null) { queue.offer(cur.left); curLevelCnt++; } if(cur.right != null) { queue.offer(cur.right); curLevelCnt++; } if(lastLevelCnt == 0) { if(reverse) { Collections.reverse(curLevel); } reverse = !reverse; res.add(curLevel); lastLevelCnt = curLevelCnt; curLevelCnt = 0; curLevel = new ArrayList<Integer>(); } } return res; }
相关文章推荐
- 树莓派 centos7 命令行播放音乐
- go语言操作mysql范例(增删查改)
- 102. Binary Tree Level Order Traversal
- php Compile on Mac
- Angular 2 + Electron 开发web和桌面应用
- 最长递增自序列 python
- 那些年浅尝的书,以及常去的网站
- 自定义控件-组合控件
- MyBatis 3.3.1 版本下载
- Intersection of Two Arrays
- 关于Java中Arrays.sort()方法TLE
- mysql查询记录,无记录 count(*)返回0,max()返回null
- Mysql5.6主从复制-基于binlog
- CF #edu 11 C. Hard Process
- Android Canvas drawText实现中文垂直居中
- Android学习资源
- 利用spark进行圆周率的计算
- 如何使用hugo搭建个人博客(五):添加站内搜索(gcse)
- 数据表的修改
- Struts 数字百分比格式化