算法--- 二叉树的层序遍历 II
题目
二叉树的层序遍历 II
给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:
给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \15 7
返回其自底向上的层序遍历为:[[15,7],[9,20],[3]
]
思路
使用层序遍历,后续便利的使用LinkedList addFirst() 方法把后面的遍历加在最前面即可。
解决方法
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {public List<List<Integer>> levelOrderBottom(TreeNode root) {LinkedList<List<Integer>> result = new LinkedList<>();if (root == null) {return result;}LinkedList<TreeNode> treeNodes = new LinkedList<>();treeNodes.offer(root);while (!treeNodes.isEmpty()){List<Integer> levelList = new ArrayList<>();int curLevelSize = treeNodes.size();for (int i = 0; i < curLevelSize; i++) {TreeNode node = treeNodes.poll();levelList.add(node.val);if (node.left != null) {treeNodes.offer(node.left);}if (node.right != null) {treeNodes.offer(node.right);}}result.addFirst(levelList);}return result;}
}
算法--- 二叉树的层序遍历 II相关推荐
- 二叉树的层序遍历 II
二叉树的层序遍历 II 给定一个二叉树,返回其节点值自底向上的层序遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,null,15,7] ...
- 力扣题目——107. 二叉树的层序遍历 II
注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 给定一个二叉树,返回其节点值自底向上的层序遍历. (即按从叶子节点所在层到根 ...
- 【数据结构与算法】之深入解析“二叉树的层序遍历II”的求解思路与算法示例
一.题目要求 给你二叉树的根节点 root ,返回其节点值自底向上的层序遍历(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历). 示例 1: 输入:root = [3,9,20,null,nu ...
- 算法------二叉树的层序遍历
题目: 给你一个二叉树,请你返回其按 层序遍历 得到的节点值. (即逐层地,从左到右访问所有节点).示例: 二叉树:[3,9,20,null,null,15,7],3/ \9 20/ \15 7 返回 ...
- Leetcode 107.二叉树的层序遍历 II (每日一题 20210628 同类型题)
给定一个二叉树,返回其节点值自底向上的层序遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如: 给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \1 ...
- leetcode系列-107.二叉树的层序遍历II
题目描述: 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 . (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 示例 1: 输入:root = [3,9,20,null, ...
- 49 -算法 -LeetCode 107 107. 二叉树的层序遍历 II 栈队列vector
// 最好别 直接 !left 或者 !right 来判断是否为空 判断的是地址 很尴尬 // 直接 left != null rigth != null //queue front pop push ...
- 107. 二叉树的层序遍历 II and 102. 二叉树的层序遍历 023(BFS模板题打两道)
一:题目 二:上码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* Tre ...
- 【每日一算法】二叉树的层次遍历 II
每日一算法-二叉树的层次遍历 II 题目 给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,n ...
最新文章
- 3. 软件测试的类型
- Tensorflow【实战Google深度学习框架】基于tensorflow + Vgg16进行图像分类识别
- tensorflow打印模型结构_钢结构模型3D打印与有限元网格的融合方法
- Codeforces 1140F 线段树 分治 并查集
- 华为的型号命名规则_iQOO新品入网;三星Galaxy S21首张官方渲染图曝光;华为nova8真机曝光...
- python实现新闻网站_Python 教你 4 行代码开发新闻网站通用爬虫
- Photoshop CS4 卡通角色的设计与绘制(2)
- 我的世界Java版最诡异的种子_我的世界:比666还诡异的故障种子,无限复制结构?官方:还是特性...
- 支付宝(蚂蚁金服开放平台)-支付结果异步通知-验签
- 表格(Excel)分列,拆分文本怎么用
- 音乐 美术 劳技 计算机教研组工作总结,音体美信息教研组工作总结
- 英特尔第十代处理器为什么不支持win7_10代cpu能不能装win7?10代cpu装win7全面分析(支持十代cpu)...
- 三维建模之曲面的分类
- 如何看待测试过程中的漏测发生
- tcp和UDP 区别
- 『计组』CPU 如何区分指令和数据
- simulink电路仿真
- 目前游戏行业内部主要几款游戏引擎的技术对比(转)
- TYVJ P1172 自然数拆分Lunatic版
- 万法简史(肯威尔伯)
热门文章
- linux降低屏幕亮度,降低屏幕亮度,减缓眼疲劳 (linux/windows/firefox/android)
- 五、cookie和web缓存
- 编程猫python讲师面试_【编程猫教师面试】在BOSS问了我很多,问我为什么选择编程猫,问我了解编程猫吗?-看准网...
- 30、【华为HCIE-Storage】--Hyper Metro(双活【块业务】)
- 用Docker镜像搭建ELK环境
- 彻底理解cookie,session,localStorage(附代码)
- Monkeyrunner测试小实践
- 2016年第31周四
- Mongodb 请求处理流程
- 第四条:通过私有构造器强化不可实例化的能力