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

【代码随想录day 14】 力扣 111.二叉树的最小深度

视频讲解:https://www.bilibili.com/video/BV1QD4y1B7e2/?vd_source=a935eaede74a204ec74fd041b917810c
文档讲解:https://programmercarl.com/0111.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%9C%80%E5%B0%8F%E6%B7%B1%E5%BA%A6.html
力扣题目:https://leetcode.cn/problems/minimum-depth-of-binary-tree/description/

这道题和求最大深度还有一点不一样,这道题的主要问题是找到最短的叶子节点,重要的是他需要是叶子节点,所以在递归过程中我们需要去判断是不是叶子节点,无非是两种情况1.左空又不空 2.右空左不空,当遇到这两种情况时,长度变为1+left/right,最后比较取最小值。

class Solution {
public:int getDepth(TreeNode *node){//判断终止条件if(!node){return 0;}//开始递归int left=getDepth(node->left);int right = getDepth(node->right);//判断是不是叶子节点if(node->left==NULL && node->right !=NULL){return 1+right;}if(node->left!=NULL && node->right ==NULL){return 1+left;}int result=1+min(right,left);return result;}int minDepth(TreeNode* root) {int result=getDepth(root);return result;}
};
http://www.dtcms.com/a/321214.html

相关文章:

  • Cesium 无人机视角飞行漫游,截屏
  • RabbitMQ详情介绍—七种工作模式
  • springmvc4+hibernate4整合框架的搭建
  • 库函数版独立按键用位运算方式实现(STC8)
  • Array Description(Dynamic programming)
  • 【网络编程】IO多路转接——epoll
  • Java文件读写(IO、NIO)
  • 第39周——训练自己的数据集
  • 汇编语言和高级语言的差异
  • BGP综合实验练习作业
  • Fabarta个人专属智能体:三维搜索链+动态大纲重构教材开发范式
  • Omron(欧姆龙)SysmacStudio软件下载,定期更新(最新更新到1.63升级包)
  • npm run 常见脚本
  • BGP协议笔记
  • 【新启航】航空飞机起落架深孔型腔的内轮廓测量方法探究 - 激光频率梳 3D 轮廓检测
  • 2025华数杯数学建模A题【 多孔膜光反射性能的优化与控制】原创论文讲解(含完整python代码)
  • 避免“卡脖子”!如何减少内存I/O延迟对程序的影响?
  • 机器学习——支持向量机(SVM)实战案例
  • 操作系统-实验-进程
  • 机器学习之支持向量机(原理)
  • svm的一些应用
  • 怎么查看Linux I2C总线挂载了那些设备?
  • springboot整合rabbitMQ的示例
  • Elasticsearch:在向量搜索中使用 Direct IO
  • 解码华为云安全“铁三角”:用“分层防御”化解安全挑战
  • 微软披露Exchange Server漏洞:攻击者可静默获取混合部署环境云访问权限
  • 企业AI的双层技术栈架构:融合社区创新与企业级管控的设计蓝图
  • Git 使用场景笔记
  • DuoPlus支持导入文件批量配置云手机参数,还优化了批量操作和搜索功能!
  • 数据结构--哈希表