题目

 二叉树的层序遍历 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相关推荐

  1. 二叉树的层序遍历 II

    二叉树的层序遍历 II 给定一个二叉树,返回其节点值自底向上的层序遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,null,15,7] ...

  2. 力扣题目——107. 二叉树的层序遍历 II

    注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路. 描述 给定一个二叉树,返回其节点值自底向上的层序遍历. (即按从叶子节点所在层到根 ...

  3. 【数据结构与算法】之深入解析“二叉树的层序遍历II”的求解思路与算法示例

    一.题目要求 给你二叉树的根节点 root ,返回其节点值自底向上的层序遍历(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历). 示例 1: 输入:root = [3,9,20,null,nu ...

  4. 算法------二叉树的层序遍历

    题目: 给你一个二叉树,请你返回其按 层序遍历 得到的节点值. (即逐层地,从左到右访问所有节点).示例: 二叉树:[3,9,20,null,null,15,7],3/ \9 20/ \15 7 返回 ...

  5. Leetcode 107.二叉树的层序遍历 II (每日一题 20210628 同类型题)

    给定一个二叉树,返回其节点值自底向上的层序遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如: 给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \1 ...

  6. leetcode系列-107.二叉树的层序遍历II

    题目描述: 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 . (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 示例 1: 输入:root = [3,9,20,null, ...

  7. 49 -算法 -LeetCode 107 107. 二叉树的层序遍历 II 栈队列vector

    // 最好别 直接 !left 或者 !right 来判断是否为空 判断的是地址 很尴尬 // 直接 left != null rigth != null //queue front pop push ...

  8. 107. 二叉树的层序遍历 II and 102. 二叉树的层序遍历 023(BFS模板题打两道)

    一:题目 二:上码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* Tre ...

  9. 【每日一算法】二叉树的层次遍历 II

    每日一算法-二叉树的层次遍历 II 题目 给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,n ...

最新文章

  1. 3. 软件测试的类型
  2. Tensorflow【实战Google深度学习框架】基于tensorflow + Vgg16进行图像分类识别
  3. tensorflow打印模型结构_钢结构模型3D打印与有限元网格的融合方法
  4. Codeforces 1140F 线段树 分治 并查集
  5. 华为的型号命名规则_iQOO新品入网;三星Galaxy S21首张官方渲染图曝光;华为nova8真机曝光...
  6. python实现新闻网站_Python 教你 4 行代码开发新闻网站通用爬虫
  7. Photoshop CS4 卡通角色的设计与绘制(2)
  8. 我的世界Java版最诡异的种子_我的世界:比666还诡异的故障种子,无限复制结构?官方:还是特性...
  9. 支付宝(蚂蚁金服开放平台)-支付结果异步通知-验签
  10. 表格(Excel)分列,拆分文本怎么用
  11. 音乐 美术 劳技 计算机教研组工作总结,音体美信息教研组工作总结
  12. 英特尔第十代处理器为什么不支持win7_10代cpu能不能装win7?10代cpu装win7全面分析(支持十代cpu)...
  13. 三维建模之曲面的分类
  14. 如何看待测试过程中的漏测发生
  15. tcp和UDP 区别
  16. 『计组』CPU 如何区分指令和数据
  17. simulink电路仿真
  18. 目前游戏行业内部主要几款游戏引擎的技术对比(转)
  19. TYVJ P1172 自然数拆分Lunatic版
  20. 万法简史(肯威尔伯)

热门文章

  1. linux降低屏幕亮度,降低屏幕亮度,减缓眼疲劳 (linux/windows/firefox/android)
  2. 五、cookie和web缓存
  3. 编程猫python讲师面试_【编程猫教师面试】在BOSS问了我很多,问我为什么选择编程猫,问我了解编程猫吗?-看准网...
  4. 30、【华为HCIE-Storage】--Hyper Metro(双活【块业务】)
  5. 用Docker镜像搭建ELK环境
  6. 彻底理解cookie,session,localStorage(附代码)
  7. Monkeyrunner测试小实践
  8. 2016年第31周四
  9. Mongodb 请求处理流程
  10. 第四条:通过私有构造器强化不可实例化的能力