博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
103. Binary Tree Zigzag Level Order Traversal
阅读量:4954 次
发布时间:2019-06-12

本文共 966 字,大约阅读时间需要 3 分钟。

和102是一样的

用Collections.reverse(list)来翻转list

1 public List
> zigzagLevelOrder(TreeNode root) { 2 List
> res = new ArrayList
>(); 3 if(root == null) { 4 return res; 5 } 6 LinkedList
queue = new LinkedList
(); 7 queue.offer(root); 8 int lastLevelCnt = 1; 9 int curLevelCnt = 0;10 List
curLevel = new ArrayList
();11 boolean reverse = false;12 while(!queue.isEmpty()) {13 TreeNode cur = queue.poll();14 curLevel.add(cur.val);15 lastLevelCnt--;16 if(cur.left != null) {17 queue.offer(cur.left);18 curLevelCnt++;19 }20 if(cur.right != null) {21 queue.offer(cur.right);22 curLevelCnt++;23 }24 if(lastLevelCnt == 0) {25 if(reverse) {26 Collections.reverse(curLevel);27 }28 reverse = !reverse;29 res.add(curLevel);30 lastLevelCnt = curLevelCnt;31 curLevelCnt = 0;32 curLevel = new ArrayList
();33 }34 }35 return res;36 }

 

转载于:https://www.cnblogs.com/warmland/p/5573082.html

你可能感兴趣的文章
迷宫生成算法
查看>>
poj_2104K-th Number
查看>>
网页添加qq咨询
查看>>
队列课下作业
查看>>
【计算机视觉】行为识别(action recognition)相关资料
查看>>
【Qt开发】解决Qt程序在Linux下无法输入中文的办法
查看>>
迷茫的Java程序员
查看>>
修改环境变量
查看>>
boost 库的安装
查看>>
使用nc命令传输文件和文件夹
查看>>
python 文件操作
查看>>
web开发中的层次结构设计
查看>>
Android之Adapter用法总结(转)
查看>>
Struts2漏洞渗透笔记
查看>>
Java SE ---算术运算符
查看>>
QQ旋风自动关闭解决方法
查看>>
Training—Managing Device Awake State
查看>>
RailsCasts中文版,#9 Filtering Sensitive Logs 遮盖日志中记录的敏感信息
查看>>
JMeter(十三)-代理服务器录制脚本
查看>>
Ultra-fast ASP.NET: Build Ultra-Fast and Ultra-Scalable Websites Using ASP.NET and SQL Server
查看>>