Java for LeetCode 107 Binary Tree Level Order Traversal II
2024-08-23 13:32:18
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]
]
解题思路:
修改下Java for LeetCode 102 Binary Tree Level Order Traversal即可解决,JAVA实现如下:
public List<List<Integer>> levelOrderBottom(TreeNode root) {
List<List<Integer>> list = new ArrayList<List<Integer>>();
if (root == null)
return list;
Queue<TreeNode> queue = new LinkedList<TreeNode>();
queue.add(root);
while (queue.size() != 0) {
List<Integer> alist = new ArrayList<Integer>();
for (TreeNode child : queue)
alist.add(child.val);
list.add(new ArrayList<Integer>(alist));
Queue<TreeNode> queue2=queue;
queue=new LinkedList<TreeNode>();
for(TreeNode child:queue2){
if (child.left != null)
queue.add(child.left);
if (child.right != null)
queue.add(child.right);
}
}
Collections.reverse(list);
return list;
}
最新文章
- 调用newtonsoft.json反序列出错
- GCC编译器
- TCP/IP详解学习笔记(6)-- IP选路
- poi导出到excel步骤分析
- MyFramework框架搭建(一)DAL层
- (转) class II
- STM32学习笔记之一(初窥STM32)
- VIJOS 1512SuperBrother打鼹鼠(二维BIT)
- [图形学] Chp8 使用双缓存创建帧动画
- MySQL for Mac 安装和基本操作
- 第一节 JDK是什么?JRE是什么?JDK和JRE的区别?以及jdk安装和测试。
- oracle查询相关语句
- eclipse配置tomcat添加外部项目
- 在idea中设置记住git的用户名和密码
- 【noip 2012】提高组Day2T3.疫情控制
- base64加密解密c++代码
- 遍历DOM树,理解更新范围
- FFT【快速傅里叶变换】FWT【快速沃尔什变换】
- e554. 在浏览器状态栏中显示信息
- Jmeter-----图形监控
热门文章
- iOS应用崩溃日志揭秘2
- Android JNI&;NDK编程小结及建议
- 移植MonkeyRunner的图片对照和获取子图功能的实现-UiAutomator/Robotium篇
- Android中的Telephony学习笔记(2)
- HDU 4355 Party All the Time(三分|二分)
- [翻译]MySQL 文档: Control Flow Functions(控制流函数)
- 统一建模语言(UML,Unified Modeling Language)
- SQLite可视化管理工具汇总
- Ubuntu12安装RobotFramework
- Netty(三):线程模型