[LeetCode]Binary Tree Level Order Traversal II
发布日期:2021-11-22 02:48:49
浏览次数:4
分类:技术文章
本文共 1019 字,大约阅读时间需要 3 分钟。
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).
For example:
Given binary tree {3,9,20,#,#,15,7}
,
3 / \ 9 20 / \ 15 7
return its bottom-up level order traversal as:
[ [15,7], [9,20], [3]]
题解:采用的是bfs+queue,queue使用list来模拟的,jdk1.8 LinkedList没有实现Queue,最后用Collections.reverse(list)反转,用parentSize和childSize来统计一行的节点数。
code:
public List
> levelOrderBottom(TreeNode root) { List
> level = new ArrayList
>(); List con = new ArrayList (); TreeNode temp; int parentSize=1; int childSize=0; List q = new LinkedList (); q.add(root); do{ temp = q.get(0); con.add(temp.val); q.remove(0); if(temp.left!=null){ q.add(temp.left); childSize++; } if(temp.right!=null){ q.add(temp.right); childSize++; } parentSize--; if(parentSize ==0){ level.add(con); parentSize = childSize; childSize=0; con = new ArrayList (); } }while(!q.isEmpty()); Collections.reverse(level); return level; }
转载地址:https://blog.csdn.net/zxdfc/article/details/48623885 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月01日 01时33分20秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
2011年6月编程语言关注度排行
2021-06-30
Varnish使用小结
2021-06-30
千万级并发HAproxy均衡负载系统介绍
2021-06-30
什么是A记录、MX记录、CNAME记录
2021-06-30
MongoDB简介
2021-06-30
Varnish purges 缓存清除
2021-06-30
Linux下redis安装部署
2021-06-30
水平切分与垂直切分
2021-06-30
MySQL引擎
2021-06-30
MySQL下的NoSQL解决方案HandlerSocket
2021-06-30
Apache服务器下使用 ab 命令进行压力测试
2021-06-30
查看Firefox中的缓存
2021-06-30
http header头设置反向代理不缓存
2021-06-30
配置MySQL主从复制
2021-06-30
CI框架如何删除地址栏的 index.php
2021-06-30
expires与etag控制页面缓存的优先级
2021-06-30
取消掉Transfer-Encoding:chunked
2021-06-30
HTTP协议中的Tranfer-Encoding:chunked编码解析
2021-06-30
JavaScript面向对象编程
2021-06-30
在Javascript中使用面向对象的编程
2021-06-30