Leetcode Binary Tree Level Order Traversal II
2017-02-07 12:20
441 查看
public class Solution { public List<List<Integer>> levelOrderBottom(TreeNode root) { List<List<Integer>> ret = new ArrayList<>(); if (root == null) return ret; Queue<TreeNode> queue = new LinkedList<>(); Stack<ArrayList<Integer>> stack = new Stack<>(); queue.offer(root); // do the level per level BFS while (!queue.isEmpty()) { ArrayList<Integer> level = new ArrayList<>(); int size = queue.size(); for (int i=0; i<size; i++) { TreeNode node = queue.poll(); level.add(node.val); if (node.left != null) queue.offer(node.left); if (node.right != null) queue.offer(node.right); } stack.push(level); } // pop levels in the stack while (!stack.isEmpty()) { ret.add(stack.pop()); } return ret; } }
相关文章推荐
- RAS 加密 解密
- swift3.0 签名的实现
- HDU1159 && POJ1458 Common Subsequence (LCS)
- 数据库大表分区
- java排序算法汇总
- Access denied for user 'root'@'localhost'
- C++ if语句详解
- Leetcode 103. Binary Tree Zigzag Level Order Traversal
- 两大消息突袭!中国楼市未来15年的命运要定了!
- 如何删除myeclipse web项目下面的包
- Matlab编程与数据类型 -- 奇数阶魔方矩阵的编程
- java 判断图片是否是彩色
- Expression 之MemberExpression
- 解决Android Studio报错:DefaultAndroidProject : Unsupported major.minor version 52.0
- JDK 1.8 Vector与Stack源码分析
- 玩转AppBarLayout,更酷炫的顶部栏
- 第8章 信号(1)_Linux信号处理机制
- Docker中容器的备份、恢复和迁移
- Leetcode 102. Binary Tree Level Order Traversal
- 【PAT】1024. Palindromic Number