原题链接

题目描述:

给定一个二叉树,找出其最小深度。

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

说明: 叶子节点是指没有子节点的节点。

示例:

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

  3   / \
9  20/  \    15   7

返回它的最小深度 2.

解题思路:

DFS即可,只不过注意一下测试用例【1,2】这种情况,官方题解给出的答案结果为1,但是实际上深度为2,注意一下叶子结点的定义。

代码:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {public:int minDepth(TreeNode* root) {   if(root == NULL){return 0;}//递归结束条件if(root->left == NULL && root->right == NULL){return 1;}int m1 = minDepth(root->left);int m2 = minDepth(root->right);//下面的两个if语句是为了左右节点任意一个节点为空的情况下if(m1 == 0){ return m2+1;}if(m2 == 0){return m1+1;}//如果均不为空return min(m1,m2) + 1;}
};

【力扣每日一题】二叉树的最小深度相关推荐

  1. 【JAVA】交错字符串——力扣每日一题(六)(2020.07.18)

    目录 题目:97. 交错字符串 思路 如果你从本文中学习到丝毫知识,那么请您点点关注.点赞.评论和收藏 大家好,我是爱做梦的鱼,我是东北大学大数据实验班大三的小菜鸡,非常渴望优秀,羡慕优秀的人,个人博 ...

  2. leetcode 力扣每日一题系列详解——总目录

    这是总目录,该系列持续更新中........ leetcode 力扣每日一题系列详解--总目录

  3. 【爬虫】力扣每日一题每天自动邮件提醒!!!

    使用python实现了一个力扣每日一题每天自动邮件提醒的小爬虫,小但实用!!! 文章目录 A.需求来源与分析 B.技术角度分析 C.具体分析步骤 1.接口协议分析 2.发邮件 3.写crontab放服 ...

  4. 力扣每日一题每天自动邮件提醒

    A.需求来源与分析 需求来源于生活,对于只是偶尔有兴趣做做题的我,力扣的每日一题对我一直有以下的不便: 太简单不想做,需要花太多时间的不想做,每天打开力扣其实只是想看一下是什么题,有意思才做. 看题需 ...

  5. 力扣每日一题:1720.解码异或后的数组 python异或操作

    1720.解码异或后的数组 https://leetcode-cn.com/problems/decode-xored-array/ 难度:简单 题目: 未知 整数数组 arr 由 n 个非负整数组成 ...

  6. LeetCode 力扣每日一题 488.祖玛游戏

    题目描述: 你正在参与祖玛游戏的一个变种. 在这个祖玛游戏变体中,桌面上有 一排 彩球,每个球的颜色可能是:红色 'R'.黄色 'Y'.蓝色 'B'.绿色 'G' 或白色 'W' .你的手中也有一些彩 ...

  7. 力扣每日一题——两数相加II

    发现做的题难度始终不高,今天Leecode给了一个稍微难一点的题目.(前两天没更是因为去拔牙了~~>_<~~) 给你两个 非空 链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每 ...

  8. 2022.1.4 力扣-每日一题-猫和老鼠

    题目描述: 两位玩家分别扮演猫和老鼠,在一张 无向 图上进行游戏,两人轮流行动. 图的形式是:graph[a] 是一个列表,由满足 ab 是图中的一条边的所有节点 b 组成. 老鼠从节点 1 开始,第 ...

  9. 力扣每日一题——独一无二出现的次数

    难度:简单 题目: 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数. 如果每个数的出现次数都是独一无二的,就返回 true:否则返回 false. 示例 1: 输入:arr = [1,2 ...

最新文章

  1. Extmail + Postfix on Debian5
  2. difference between JSON Model and client model
  3. 1.10.返回四舍五入后的值.round()
  4. linux sublime 命令行启动,命令行 – 使用命令行在Sublime Text 3中打开一个文件夹
  5. 开挂了!女生用写字机器人刷作业 因写太快被识破 这能怪孩子吗?
  6. GB/T 28181-2016与GB/T 28181-2011变更对比
  7. BootStrap--dropdown
  8. 连接mysql_spring boot连接mysql提示The server time zone value xxx错误
  9. Macbook M1电脑安装svn及使用
  10. java 远程视频监控系统_基于JAVA的远程屏幕监控系统
  11. 2022研究生电子设计竞赛总结(东北赛区一等奖、国家二等奖)
  12. ITIL 4 讲解:服务目录
  13. SQL笔试经典50题
  14. C++入门项目——通讯管理系统
  15. win10分辨率设置_电脑显示器分辨率超频教程:1080P超2K分辨率的方法
  16. 编写一个程序求解字谜游戏问题
  17. Ubuntu18.04 上 安装微信(Deepin-Wechat)
  18. sodo与visodo的日常使用
  19. 第十一节:分布式文件系统
  20. 分类-动态渲染左侧的一级分类列表

热门文章

  1. Android OpenGL ES 3.0 LUT 滤镜
  2. 拉勾第一阶段模块一作业
  3. 【4】CSE支持的主要组件
  4. 【MySQL入门指北】第二篇 MySQL安装
  5. A股信息披露质量KV指数上市公司研发支出
  6. 【AI实战】大语言模型(LLM)有多强?还需要做传统NLP任务吗(分词、词性标注、NER、情感分类、知识图谱、多伦对话管理等)
  7. 服务器安装centos系统并分区
  8. android视频播放处理,安卓版微信视频播放全屏处理
  9. jsp ul设置滚动条_添加滚动条到动态ul li
  10. Python项目实战 3.2:验证码.短信验证码