个人记录-LeetCode 107. Binary Tree Level Order Traversal II
来源:互联网 发布:淘宝手机网站模板 编辑:程序博客网 时间:2024/06/18 14:46
问题:
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,null,null,15,7],
3 / \ 9 20 / \ 15 7
return its bottom-up level order traversal as:
[ [15,7], [9,20], [3]]
这个问题要求从叶子节点往根节点输出。
其是直接广度优先遍历,依次输出每一层节点的值,
每次将下一层节点的值插入到上一层的前面即可。
代码示例:
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public List<List<Integer>> levelOrderBottom(TreeNode root) { //保存最后的结果 List<List<Integer>> rst = new LinkedList<>(); if(root == null) { return rst; } //保存节点 Queue<TreeNode> queue = new LinkedList<>(); queue.offer(root); //保存每一层节点的值 List<Integer> subList; while(!queue.isEmpty()){ //得到当前层节点的数量 int num = queue.size(); subList = new LinkedList<>(); //将下一层的节点加入到queue中 //同时将当前层节点的值加入到subList for(int i = 0; i < num; i++) { if(queue.peek().left != null) { queue.offer(queue.peek().left); } if(queue.peek().right != null) { queue.offer(queue.peek().right); } subList.add(queue.poll().val); } //subList插入到index=0的位置,即最前面 rst.add(0, subList); } return rst; }}
0 0
- 个人记录-LeetCode 107. Binary Tree Level Order Traversal II
- 个人记录-LeetCode 102. Binary Tree Level Order Traversal
- 个人记录-LeetCode 103. Binary Tree Zigzag Level Order Traversal
- [LeetCode]102. Binary Tree Level Order Traversal&107. Binary Tree Level Order Traversal II
- LeetCode: Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II
- [Leetcode] Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II
- [LeetCode] Binary Tree Level Order Traversal II
- 【leetcode】Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Level Order Traversal II
- [Leetcode]Binary Tree Level Order Traversal II
- [leetcode]Binary Tree Level Order Traversal II
- LeetCode-Binary Tree Level Order Traversal II
- LeetCode - Binary Tree Level Order Traversal II
- [LeetCode] Binary Tree Level Order Traversal II
- LeetCode | Binary Tree Level Order Traversal II
- ubuntu防火墙管理
- 剑指offer(java代码)——和为S的两个数字
- DevOps工具系列简介
- JAVA中静态代码块、构造方法、Super()父类与子类之间执行顺序
- spring mvc. 异步controller介绍
- 个人记录-LeetCode 107. Binary Tree Level Order Traversal II
- Tomcat部署时war和war exploded区别以及平时踩得坑
- USE
- [bigdata-64] centos 6.8 安装 pip3 python3
- HTML 知识小结1
- window批处理并行多个任务
- assembly.GetTypes 无法加载一个或多个请求的类型的解决方法
- java-pdf-itext 生成pdf 文档(支持中文字体)
- RecyclerView(入门)