力扣 LeetCode 111. 二叉树的最小深度(Day7:二叉树)

embedded/2024/11/22 4:06:03/

 

解题思路:

用后序遍历

题目要求的最小深度为根节点到叶子节点的最小深度,注意是到根节点,所以如图所示假设(没有9这个节点)是需要返回3的,而不是1(根节点左子树为空的情况),于是需要加两层判断

其余部分可参考求最大深度的思路,有一定相似之处

class Solution {public int minDepth(TreeNode root) {if (root == null) return 0;int leftDepth = minDepth(root.left);int rightDepth = minDepth(root.right);if (root.left == null && root.right != null) return 1 + rightDepth;if (root.left != null && root.right == null) return 1 + leftDepth;int res = 1 + Math.min(leftDepth, rightDepth);return res;}
}


http://www.ppmy.cn/embedded/139515.html

相关文章

基于yolov8、yolov5的植物类别识别系统(含UI界面、训练好的模型、Python代码、数据集)

项目介绍 项目中所用到的算法模型和数据集等信息如下: 算法模型:     yolov8、yolov8 SE注意力机制 或 yolov5、yolov5 SE注意力机制 , 直接提供最少两个训练好的模型。模型十分重要,因为有些同学的电脑没有 GPU&#xff0…

用sqlmap工具打sqli-labs前20关靶场

这个星期我们用手动注入打了前20关靶场,今天我们用sqlmap直接梭哈前20关 1.介绍sqlmap sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL和SQL注入漏洞。 2.下载和使用sqlmap 官方下载地址:GitHub - sq…

鱼厂实习,光速转正了!

今天要分享的这篇文章,比较特殊,是我们团队一位同事写的。主要分享了他从 0 开始学编程,再到加入鱼厂光速转正的故事。长达 6000 多字,诉说了自己四年多的经历,满满的真情实感,大家可以当个小说阅读。 以下…

Python入门(10)--面向对象进阶

Python面向对象进阶 🚀 1. 继承与多态 🔄 1.1 继承基础 class Animal:def __init__(self, name, age):self.name nameself.age agedef speak(self):passdef describe(self):return f"{self.name} is {self.age} years old"class Dog(Anim…

React的hook✅

为什么hook必须在组件内的顶层声明? 这是为了确保每次组件渲染时,Hooks 的调用顺序保持一致。React利用 hook 的调用顺序来跟踪各个 hook 的状态。每当一个函数组件被渲染时,所有的 hook 调用都是按照从上到下的顺序依次执行的。React 内部会…

element ui table进行相同数据合并单元格

示例如图 //要合并的项(自定义) const columnArr ["dq","sj","xj","zj","zjj","zjfzr","nhxm","nhsjh","nhsfzh","","",""…

网络编程套接字概念(UTP和TCP)

前言: 认识了网络,我们就应该考虑一下如何编程实现不同主机上的应用进程之间如何进行双向互通的端点。 套接字(Socket)是网络编程的一种基本概念,套接字是应用程序通过网络协议进行通信的接口,是操作系统提…

C# AutoMapper 10个常用方法总结

前言 AutoMapper 是一个强大的对象映射库,用于简化和自动化复杂对象之间的转换。 官网地址:AutoMapper 文档地址:AutoMapper — AutoMapper documentation AutoMapper是以.NET(C#)语言开发的一个轻量的处理一个实体对象到另一个实体对象之间…