博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode]Binary Tree Level Order Traversal II
阅读量:4542 次
发布时间:2019-06-08

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

犯了两个错误,一个是node为null时,仍然把left和right往queue里放,空指针错误。一个是到最后一层,节点的left和right都是null,那么新建的ArrayList就是空,不该往结果里放。

此题DFS也可,就是把层次传进去:

public class Solution {    public ArrayList
> levelOrderBottom(TreeNode root) { ArrayList
> ans = new ArrayList
>(); Queue
queue = new LinkedList
(); queue.offer(root); int lastLevel = 1; int thisLevel = 0; ArrayList
tmp = new ArrayList
(); while (queue.size() != 0) { TreeNode n = queue.poll(); lastLevel--; if (n != null) { tmp.add(n.val); queue.offer(n.left); queue.offer(n.right); thisLevel += 2; } if (lastLevel == 0) { lastLevel = thisLevel; thisLevel = 0; if (tmp.size() != 0) { ans.add(tmp); } tmp = new ArrayList
(); } } int len = ans.size(); for (int i = 0; i < len/2; i++) { tmp = ans.get(i); ans.set(i, ans.get(len - i - 1)); ans.set(len - i - 1, tmp); } return ans; }}

  

转载于:https://www.cnblogs.com/lautsie/p/3299026.html

你可能感兴趣的文章
基础2
查看>>
java基础篇---网络编程(UDP程序设计)
查看>>
JQuery怎样返回前一页
查看>>
Best Time to Buy and Sell Stock
查看>>
Web服务器的原理
查看>>
记录ok6410 jlink 命令行调试uboot
查看>>
ASP.net 内置对象
查看>>
Docker快速配置指南
查看>>
Python基础---OS模块 (二)
查看>>
【JS点滴】substring和substr以及slice和splice的用法和区别。
查看>>
awk多模式匹配
查看>>
线段树
查看>>
a span等行内元素加margin属性后无效果解决方案
查看>>
傻瓜式硬盘重装win7系统图文加视频教程
查看>>
BZOJ 1607 [Usaco2008 Dec]Patting Heads 轻拍牛头:统计 + 筛法【调和级数】
查看>>
如果一个人请优雅的活着。
查看>>
验证码
查看>>
Django缓存配置
查看>>
Ubuntu下安装 Mysql
查看>>
LeetCode--Reverse Integer
查看>>