leecode111——二叉树最短路径

news2024/12/25 9:11:03

递归三部曲:

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

(1)确定参数和返回值,

参数为传入根节点,再根据此遍历左右左右树的节点。返回最短路径,即int类型。

(2)确定终止条件:

当root节点为空时,返回0
当 root 节点左右孩子都为空时,返回 1

(3)确定单层递归条件

当 root 节点左右孩子有一个为空时,返回不为空的孩子节点的深度
当 root 节点左右孩子都不为空时,返回左右孩子较小深度的节点值

我最开始写的:
int leftDepth = getDepth(node->left);
int rightDepth = getDepth(node->right);
int result = 1 + min(leftDepth, rightDepth);
return result;
这样就犯了误区;
在这里插入图片描述

class Solution {
    public int minDepth(TreeNode root) {
       if(root==null){
           return 0;
       }else if(root.left==null&&root.right==null){
           return 1;
       }else{
           int leftDepth=minDepth(root.left);//遍历的9
           int rightDepth=minDepth(root.right);//遍历的20,最终为2
           if(leftDepth==0){
               return rightDepth+1;
           }else if(rightDepth==0){
               return leftDepth+1;
           }else{
                int cur=Math.min(leftDepth,rightDepth)+1;
                return cur;
           }
         
       }
     }  
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/508957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第4章 静态网站部署

第4章 静态网站部署 Nginx是一个HTTP的web服务器,可以将服务器上的静态文件(如HTML、图片等)通过HTTP协议返回给浏览器客户端 4.1 案例:将ace-master这个静态网站部署到Nginx服务器上 4.1.1 通过Xftp将ace-master到linux服务器…

深入探究HDFS:高可靠、高可扩展、高吞吐量的分布式文件系统【上进小菜猪大数据系列】

上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货。 引言 在当今数据时代,数据的存储和处理已经成为了各行各业的一个关键问题。尤其是在大数据领域,海量数据的存储和处理已经成为了一个不可避免的问题。为了应…

Sharding-JDBC之广播表(公共表)

目录 一、简介二、maven依赖三、数据库3.1、创建数据库3.2、创建表 四、配置(二选一)4.1、properties配置4.2、yml配置 五、实现5.1、持久层5.2、持久层5.3、服务层5.4、测试类5.4.1、保存数据5.4.2、查询广播表5.4.3、查询订单数据(关联广播…

selenium——unittest框架

目录 一、unittest框架基本介绍二、unittest框架解析三、unittest框架使用方法1.测试固件2.测试套件3.用例的执行顺序4.忽略测试用例中的方法5.unittest断言6.HTML报告生成 一、unittest框架基本介绍 在进行selenium IDE脚本录制导出的脚本中,我们发现其中多了很多…

第十三章_Redis中的BigKey

MoreKey案例 大批量往redis里面插入2000W测试数据key Linux Bash下面执行&#xff0c;插入100W # 生成100W条redis批量设置kv的语句(keykn,valuevn)写入到/tmp目录下的redisTest.txt文件中 for((i1;i<100*10000;i)); do echo "set k$i v$i" >> /tmp/redi…

使用Eclipse +SpotBugs 检测代码弱点

文章目录 SpotBugs 插件的安装SpotBugs 的使用弱点扫描弱点查看的视图SpotBugs 是分析Java代码弱点的静态分析工具,SpotBugs提供了Eclipse的插件使用方式,在Eclipse 中安装插件之后就可以坚持Java代码的弱点了。 SpotBugs 插件的安装 SpotBugs 的插件安装主要有两种方式 在插…

8款 Vue 富文本编辑器

文章目录 TinyMCE - 富文本编辑器里的 Word &#xff0c;功能想不到的丰富tiptap - 多人在线实时协同编辑CKEditor 5 - 开源免费可商用&#xff0c;行内编辑Quill - 易扩展、轻量级二开、代码高亮好用Froala - 插件丰富&#xff0c;UI友好&#xff0c;编辑器里的苹果summernote…

Android系统原理性问题分析 - 消息传递机制的分析(Looper 和 Handler)

声明 在Android系统中经常会遇到一些系统原理性的问题&#xff0c;在此专栏中集中来讨论下。比如&#xff1a;Android为了线程安全&#xff0c;不允许在UI线程外操作UI&#xff0c;很多时候做界面刷新都需要通过Handler来通知UI组件更新。此篇参考一些博客和书籍&#xff0c;不…

数据库sql语句练习(三)

例题&#xff1a; ●哪些项目消费了不止一次 select distinct name消费了不止一次的项目 from shopping group by name having count(*)>1 注&#xff1a;加disdinct去除重复的返回值&#xff0c;不加默认为all ●按照不同消费项目的总金额从高到低的顺序&#xff0c;列出不…

PMP证书“扫盲”时间2023年考证人快看过来

二&#xff0c;PMP报考指南 学历与工作经验要求&#xff1a; 本科及以上学历&#xff0c;三年或以上的项目管理工作经验&#xff1b; 专科及以上学历&#xff0c;五年或以上的项目管理工作经验。 项目管理培训&#xff1a;35小时以上的项目管理教育/培训。 备注&#xff1…

Vue3-黑马(一)

目录&#xff1a; &#xff08;1&#xff09;vue3-基础-环境准备 &#xff08;2&#xff09;vue3-基础-入门案例 &#xff08;3&#xff09;vue3-基础-main.ts &#xff08;1&#xff09;vue3-基础-环境准备 vue3的技术选型&#xff0c;它提供了两套API&#xff0c;一个是选…

面试题——selenium原理解析、appium原理解析

这里写目录标题 一、selenium原理解析1、目的2、技术点3、Selenium 介绍4、Selenium 自动化测试5、为什么能够支持这么多种浏览器&#xff1f;6、Selenium 工作原理 二、appium原理解析1、目的2、技术点3、Appium 介绍4、Appium 工作原理 一、selenium原理解析 1、目的 了解是…

远程桌面连接出现了内部错误怎么解决?

远程桌面连接是一种非常方便的工具&#xff0c;可以让用户从远程访问其他计算机的桌面界面。但是&#xff0c;有时候在连接远程桌面时会出现内部错误&#xff0c;导致无法连接或者连接后无法正常使用。在本文中&#xff0c;我们将会讨论远程桌面连接出现内部错误的原因和解决方…

CRMEB知识付费二次开发 加密阿里云视频MP4点播链接为m3u8格式 hls blob协议

只有添加分发加速的域名才能使用HLS加密&#xff0c;同时也要做HTTPS证书添加&#xff0c;不然也会报错。 1、这是电脑端视频播放页面效果 2、这个手机端H5视频播放页面效果 3、在网站后台上传你的视频内容 4、上传完之后可以进行预览 5、在阿里云控制台设置就好自己的转码模…

舞台特效-第14届蓝桥杯省赛Scratch初级组真题第2题

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第131讲。 舞台特效&#xff0c;本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程初级组真题第2题&#xf…

SRVCC流程及异常场景介绍

SRVCC(Single Radio Voice Call Continuity)用于在LTE和3G网络之间,实现VoLTE电话无缝切换到3G网络。用户正在使用VoLTE电话进行通话,当他们移出了LTE网络覆盖范围,SRVCC技术会自动将电话切换到3G网络,从而保持通话不中断。 关键流程如下 UE(用户设备)向MME(移动管理…

Python 密码破解指南:5~9

协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【OpenDocCN 饱和式翻译计划】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 收割 SB 的人会被 SB 们封神&#xff0c;试图唤醒 SB 的人是 SB 眼中的 SB。——SB 第三定律 五、凯…

RHCSA之基础配置

目录 RHCSA之基础配置 快照设置 1.快照的作用 2.创建快照 3.删除快照 界面图标 Boxes --- 命令行字符形状工具 Calculator --- 计算器 Cheese --- 摄像头 Files --- 文件 FireFox --- 火狐浏览器 Red Hat Subscription Manager --- red hat订阅经理 Settings --- 设…

车载铁路M12工业交换机 3U 轨道交通板卡交换机设计方案

支持双电源冗余 支持Bypass 专门为轨道交通应用设计和制造的以太网数据通信设备 根据IEC61375-2-5和IEC61375-2-3协议实现的列车级骨干以太网核心设备 中国铁路 产品认证 XM-5145工业交换机是专为轨道交通、船载、车载等恶劣环境设计开发的二层网管型交换机。产品设计符合轨…

Java学习(11):Java实现图书馆书库管理系统

接上次博客&#xff1a;Java学习&#xff08;10&#xff09;多接口、接口的继承、抽象类和接口的区别、Object类【toString 、equals、hashcode】、接口实例 【compareTo、clone 】、浅拷贝和深拷贝、内部类_di-Dora的博客-CSDN博客 我们要想完成这个书库管理系统&#xff0c;…