当前位置: 首页 > 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.xdnf.cn/news/1262395.html

相关文章:

  • Axure基于中继器实现的组件库(导航菜单、动态表格)
  • Array Description(Dynamic programming)
  • 在发布应用程序内测时如何选择合适的分发上架方式?
  • Git 基础操作笔记(速查)
  • 视频遥测终端机是什么,其工作原理和应用领域
  • 高校合作 | 世冠科技联合普华、北邮项目入选教育部第二批工程案例
  • 01数据结构-图的概念和图的存储结构
  • 数据结构---二叉树(概念、特点、分类、特性、读取顺序、例题)、gdb调试指令、时间复杂度(概念、大O符号法、分类)
  • 【世纪龙科技】数智重构车身实训-汽车车身测量虚拟实训软件
  • 二叉树实现
  • Docker 创建镜像错误记录
  • Redis缓存击穿、穿透雪崩
  • 【NFTurbo】基于DockerCompose一键部署
  • gmssl私钥文件格式
  • 用户组权限及高级权限管理:从基础到企业级 sudo 提权实战
  • 《从零构建大语言模型》学习笔记2,文本数据处理1(以及tiktoken库无法下载gpt2参数,调用get_encoding时SSL超时的解决方法)
  • Redis是单线程性能还高的原因
  • SaaS 版 MES 系统业务文档
  • 【SpringBoot】SpringBoot配置
  • GPT OSS 双模型上线,百度百舸全面支持快速部署
  • 华为USG防火墙双机,但ISP只给了1个IP, 怎么办?
  • 医防融合中心-智慧化慢病全程管理医疗AI系统开发(上)
  • C++信息学奥赛一本通-第一部分-基础一-第2章-第5节
  • 单层 PDF 与双层 PDF:一字之差,功能大不同
  • 修复C++14兼容性问题 逻辑检查
  • 力扣-238.除自身以外数组的乘积
  • FileLink:企业数据传输的革新者​
  • Node.js Turbo 包入门教程
  • Sklearn 机器学习 数据降维PCA 使用PCA算法
  • Spark在什么情况下CBO才会判断失误,如何避免