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;
}

最新文章

  1. 调用newtonsoft.json反序列出错
  2. GCC编译器
  3. TCP/IP详解学习笔记(6)-- IP选路
  4. poi导出到excel步骤分析
  5. MyFramework框架搭建(一)DAL层
  6. (转) class II
  7. STM32学习笔记之一(初窥STM32)
  8. VIJOS 1512SuperBrother打鼹鼠(二维BIT)
  9. [图形学] Chp8 使用双缓存创建帧动画
  10. MySQL for Mac 安装和基本操作
  11. 第一节 JDK是什么?JRE是什么?JDK和JRE的区别?以及jdk安装和测试。
  12. oracle查询相关语句
  13. eclipse配置tomcat添加外部项目
  14. 在idea中设置记住git的用户名和密码
  15. 【noip 2012】提高组Day2T3.疫情控制
  16. base64加密解密c++代码
  17. 遍历DOM树,理解更新范围
  18. FFT【快速傅里叶变换】FWT【快速沃尔什变换】
  19. e554. 在浏览器状态栏中显示信息
  20. Jmeter-----图形监控

热门文章

  1. iOS应用崩溃日志揭秘2
  2. Android JNI&amp;NDK编程小结及建议
  3. 移植MonkeyRunner的图片对照和获取子图功能的实现-UiAutomator/Robotium篇
  4. Android中的Telephony学习笔记(2)
  5. HDU 4355 Party All the Time(三分|二分)
  6. [翻译]MySQL 文档: Control Flow Functions(控制流函数)
  7. 统一建模语言(UML,Unified Modeling Language)
  8. SQLite可视化管理工具汇总
  9. Ubuntu12安装RobotFramework
  10. Netty(三):线程模型