当前位置: 首页 > news >正文

111、二叉树的最小深度

给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

题解:找出最小深度也就是找出根节点相对所有叶子结点的最小高度,在这也表明了根节点的高度是变化的,相对不同的叶子结点有不同的高度。

代码如下:

class Solution {
public:int minDepth(TreeNode* root) {if(NULL == root) return 0;if(NULL == root->left && NULL!= root->right) return 1+minDepth(root->right);if(NULL != root->left && NULL== root->right) return 1+minDepth(root->left);return 1+min(minDepth(root->left),minDepth(root->right));  }
};

注意:

在树形数据结构中,叶子节点(leaf node)是没有子节点的节点。换句话说,叶子节点是树中没有任何子节点的终端节点。

在解题时要注意无左子树或无右子树的情况,若不考虑得到的最小深度必然是1,因为左子树或右子树为NULL时高度为0,那根节点高度必然是1。

http://www.lryc.cn/news/366064.html

相关文章:

  • SpringBoot3依赖管理,自动配置
  • 音视频开发17 FFmpeg 音频解码- 将 aac 解码成 pcm
  • vue2中封装图片上传获取方法类(针对后端返回的数据不是图片链接,只是图片编号)
  • 【C++面向对象编程】(二)this指针和静态成员
  • 最大矩形问题
  • LeetCode62不同路径
  • GNU Radio实现OFDM Radar
  • 东方博宜1760 - 整理抽屉
  • react快速开始(四)-之Vite 还是 (Create React App) CRA? 用Vite创建项目
  • 使用python绘制核密度估计图
  • 5. MySQL 运算符和函数
  • Linux学习之vi文本编辑器的使用
  • 【数据结构】链表与顺序表的比较
  • dart 基本语法
  • 【经验分享】嵌入式入坑经历(选段)
  • Docker面试整理-Docker与虚拟机的区别是什么?
  • Java:JDK8 GC中ParNew和CMS的问题说明
  • 学单片机前先学什么?
  • 数据可视化:Matplotlib 与 Seaborn
  • 【linux】自定义快捷命令/脚本
  • 使用onnxruntime加载YOLOv8生成的onnx文件进行目标检测
  • QT 信号和槽 一对多关联示例,一个信号,多个槽函数响应,一个信号源如何绑定多个槽函数
  • C++ AVL树 详细讲解
  • Faster R-CNN:端到端的目标检测网络
  • 如何给 MySQL 表和列授予权限?(官方版)
  • 攻防世界testre做法(考点:base58)
  • 计算机视觉与模式识别实验1-1 图像的直方图平衡
  • 【C++课程学习】:C++入门(函数重载)
  • skywalking介绍及搭建
  • 分析示例 | Simufact焊接工艺仿真变形精确预测汽车结构