二叉树的最小深度:从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最短路径的长度为树的最小深度。

算法一

/** * @description 二叉树最小深度 * @param {*} root 二叉树 */function binaryTreeMinDepth(root) {    // 节点不存在时返回长度为0    if (!root) return 0    // 当节点存在时但是左右子节点不存在,返回长度为1    if (!root.left && !root.right) return 1    // 当左节点不存在,右节点存在,递归求出右节点深度,并加1    if (!root.left) return binaryTreeMinDepth(root.right) + 1    // 当右节点不存在,右节点存在,递归求出左节点深度,并加1    if (!root.right) return binaryTreeMinDepth(root.left) + 1    // 当左右节点都存在时 递归求出左右节点深度,毕竟求出左右节点深度最小值加1    return Math.min(binaryTreeMinDepth(root.right), binaryTreeMinDepth(root.left)) + 1}

算法二

/** * @description 二叉树最小深度 * @param {*} root 二叉树 */function binaryTreeMinDepth(root) {    // 根节点不存在时返回长度为0    if (!root) return 0    // 根节点存在深度为1    let depth = 1    // 声明一个队列默认存放根节点    const queue = [root]    while (queue.length) {        const len  = queue.length        // 遍历栈求出最小深度        for (let i = 0; i < len; i++) {            // 取出栈尾            const current = queue.shift()            // 如果遇到左右节点都不存在直接返回深度            if (!current.left && !current.right) return depth            // 如果左节点存在入栈            if (current.left)  queue.push(current.left)            // 如果右节点存在入栈            if (current.right)  queue.push(current.right)        }        // 深度加1        ++depth    }    // 如果找不到最小深度 则返回-1    return -1}

二叉树的深度_十七:二叉树的最小深度相关推荐

  1. LeetCode 二叉树、N叉树的最大深度与最小深度(递归解)

    目录 104. 二叉树的最大深度 559. N叉树的最大深度 111. 二叉树的最小深度 之前的笔记中,已经用层序遍历解决过这个问题了 现在试着用深度的解法去求解 104. 二叉树的最大深度 给定一个 ...

  2. 数据结构树二叉树计算节点_查找二叉树中叶节点的数量 数据结构

    数据结构树二叉树计算节点 Algorithm: 算法: One of the popular traversal techniques to solve this kind of problems i ...

  3. 二叉树层序遍历_求二叉树的层序遍历

    题目描述 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该二叉树层序遍历的结果是 [ [3], [9,20], ...

  4. 创建二叉树的代码_解二叉树的右视图的两种方式

    给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值. 示例: 问题分析 这题说的很明白,就是站在一棵二叉树的右边,你所能看到的结点值.对于二叉树的遍历,前面有简单 ...

  5. 护壁桩嵌入深度_钻孔灌注桩入岩深度

    第 1 页 共 2 页 钻孔灌注桩入岩深度 特 征码 标签 特征码 ] 关于钻孔灌注桩入岩深度是多少?想要知道答案嘛, 下面是我们 梳理的有关钻孔灌注桩入岩深度相关内容,基本情况如下: 钻孔灌注桩入岩 ...

  6. 护壁桩嵌入深度_钻孔灌注桩嵌岩深度最少多少

    展开全部 一般是嵌入石灰岩1.5倍桩径,并不小于1.5米. 一.灌注桩系是指在工程现场通过62616964757a686964616fe58685e5aeb931333431363038机械钻孔.钢管 ...

  7. 二叉树(六):二叉树的最大深度与最小深度

    一.二叉树的深度与高度 1.二叉树的深度 对于二叉树中的某个节点,其深度是从根节点到该节点的最长简单路径所包含的节点个数,是从上面向下面数的.因此访问某个节点的深度要使用先序遍历 2.二叉树的高度 对 ...

  8. 完全二叉树最小深度_二叉树:我有多少个节点?

    给「代码随想录」一个星标吧! ❝ 不管有多少个节点,大家中秋&&国庆快乐哈 ❞ 如果之前两篇二叉树:看看这些树的最大深度, 二叉树:看看这些树的最小深度都认真看了的话,这道题目可以分分 ...

  9. c#二叉树 取叶子节点个数_二叉树的最小深度+完全二叉树的节点个数

    二叉树的最小深度 题目:给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明:叶子节点是指没有子节点的节点. 示例 1: 输入:root = [3,9,20 ...

最新文章

  1. ubuntu18.04搭建 kubernetes(k8s)集群
  2. 知乎上关于固态硬盘的一些知识
  3. 华章7-8月份新书简介(2015年)
  4. AcWing 1015. 摘花生
  5. 【oracle案例】ORA-01102: cannot mount database in EXCLUSIVE mode .
  6. xampp for linux
  7. 2009年IT就业“危”中寻“机”
  8. could not be installed at this time
  9. 26. Location assign() 方法
  10. 互联网寒冬!闭关60天学懂NDK+Flutter,专题解析
  11. 移除word文档的域代码 remove all field codes of word
  12. 一个牛人的经历---北京八年——从极度贫困到财务自由
  13. 微信公众号支付的回调地址 不起作用的问题
  14. 【计算机网络】互联网上的音频/视频服务
  15. 网易2017春招笔试——集合
  16. 惊了,深圳房价比北京还高。。。
  17. .xyz让域名应用充满艺术感
  18. PHP中xml转json
  19. 贝壳二手房爬虫,搞搞房价
  20. 从程序员到项目经理(三):认识项目经理

热门文章

  1. classpass 配置mysql_jmeter压测学习18-JDBC配置连接mysql数据库
  2. 学习Winform了解到switch和if-else的妙处
  3. 服务器mysql如何添加数据库文件,如何在使用MySQL作为嵌入式服务器时创建数据库文件...
  4. 2021年峰峰春晖中学高考成绩查询,峰峰春晖中学2019年录取分数线
  5. 【OS学习笔记】一 处理器、内存和指令
  6. not enough arguments for format string
  7. 防抖debounce和节流throttle
  8. java虚拟机10.内存模型与线程
  9. [Leetcode][第201题][JAVA][数字范围按位与][位运算][Brian Kernighan]
  10. 小说中人称转换作用_长篇儿童小说《合欢》:一树红绒落马缨