给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

例如:
给定二叉树 [3,9,20,null,null,15,7],

    3/ \9  20/  \15   7

返回其自底向上的层次遍历为:

[[15,7],[9,20],[3]
]

思路:

二叉树的层序遍历要用到迭代法,设置一个队列queue(其实就是数组),把根节点加入队列中,当队列不会空时,出队列元素,然后把这个元素的子结点加入到队列中。

/*** Definition for a binary tree node.* function TreeNode(val) {*     this.val = val;*     this.left = this.right = null;* }*/
/*** @param {TreeNode} root* @return {number[][]}*/
var levelOrderBottom = function(root) {var queue = [];var result = [];if (root !== null) {queue.push(root);}while(queue.length !== 0) {var level = [];var len = queue.length;for (var i = 0; i < len; i ++) {var currentNode = queue.shift();level.push(currentNode.val);if (currentNode.left !== null) queue.push(currentNode.left);if (currentNode.right !== null) queue.push(currentNode.right);}result.push(level);}return result.reverse();
};

107. 二叉树的层次遍历 II(JavaScript)相关推荐

  1. 二叉树层次遍历c语言_[LeetCode] 107. 二叉树的层次遍历 II

    题目链接 : https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/ 题目描述: 给定一个二叉树,返回其节点值自底 ...

  2. 107. 二叉树的层次遍历 II

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

  3. LeetCode 107. 二叉树的层次遍历 II(队列)

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

  4. Leetcode 107. 二叉树的层次遍历 II 解题思路及C++实现

    解题思路: 使用队列实现二叉树的层序遍历,因为题目中要求每一层的val存储在一个vector中,所以在内循环中,还需要一个队列,用以存储更新每一层的节点. 在最后,需要将得到的res数组逆序. /** ...

  5. leetcode 107. 二叉树的层次遍历 II(维护两个队列,通过异或运算切换)

    题目 思路 一个比较啰嗦的解法 维护两个queue,当前队列节点的孩子,都放进另外一个队列里去. 树每切换一层,就切换一次队列,并且把新队列的值全部存起来. 整体上来看,是自顶向下遍历,最后翻转整个l ...

  6. 47. Leetcode 107 - 二叉树的层次遍历 ii (二叉树-二叉树遍历)

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

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

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

  8. 二叉树层次遍历c语言_每日一道 LeetCode (23):二叉树的层次遍历 II

    ❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...

  9. LeetCode(107)——二叉树的层次遍历 II(JavaScript)

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

最新文章

  1. 【撸码师读书笔记】 大型网站技术架构——核心原理与案例分析
  2. Mac平台下Opencv开发环境搭建
  3. 使用bash判断PATH中是否存在某个路径
  4. 推荐一个在线查看.cer文件的网站
  5. 如果你喜欢上了一个程序员小伙 献给所有程序员女友(来自ITeye博客的文章 作者:talent2012)...
  6. 360——新式的流氓
  7. XML文件的写入和读取(解析)基于DOM4J工具
  8. 循环依赖 三级缓存解决
  9. c#自定义事件的使用方法
  10. JDK和JRE它们之间的关系及区别
  11. 揭秘成为最牛程序员的五大要诀
  12. 使用VUE搭建后台管理系统(使用vue-cli搭建框架)
  13. 【转】hadoop2.6 配置lzo压缩
  14. php用按钮导出到excel,PHP导出Excel,PHP输入Excel
  15. 2021,属于Golang和Gopher的全新纪元
  16. ref:使用Dezender对zend加密后的php文件进行解密
  17. JN5169 基于 JN-AN-1217 组网点灯
  18. cloudera安装
  19. 如何进行代理上网以及ccproxy设置
  20. 解决屏保时间过短的问题(电脑息屏过快)

热门文章

  1. 模拟退火算法——概率法解全局优化
  2. AnsysMaxwell常见问题汇总
  3. 【解决方案】64位Linux系统下无法编译、运行32位C、C++程序的解决办法
  4. 如何判断字符串是否为JSON格式
  5. 面向Unity开发者的虚幻引擎4
  6. Java实现校验身份证号码(校验码位)
  7. AList软件的使用--已经直接在win上进行磁盘映射--修改数据源为mysql
  8. 又一次站在人生的十字路口!
  9. java dom4j包下载_Dom4j的下载及使用
  10. 高标准农田信息化监测系统解决方案