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

news2024/11/16 9:23:02

题目:

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

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

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

来源:力扣(LeetCode)
链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

示例:

示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:2


示例 2:

输入:root = [2,null,3,null,4,null,5,null,6]
输出:5

解法:

BFS,记录层数,遇到没有左右子树的结点返回层数。

代码:

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def minDepth(self, root: Optional[TreeNode]) -> int:
        queue = [(0, root)]
        while queue:
            level, cur = queue.pop(0)
            if cur:
                if cur.left:
                    queue.append((level + 1, cur.left))
                if cur.right:
                    queue.append((level + 1, cur.right))
                if cur.left is None and cur.right is None:
                    return level + 1
            else:
                return level

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

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

相关文章

CentOS密码重置

背景: 我有一个CentOS虚拟机,但是密码忘记了,偶尔记起可以重置密码,于是今天尝试记录一下,又因为我最近记性比较差,所以必须要记录一下。 过程: 1、在引导菜单界面(grub&#xff…

vscode设置vue3用户代码片段

打开vscode,点击设置选中用户代码片段: 前面我尝试创建vv的文件当做vue3模板代码文件,上面可以看见,但是忽略了一点: 创建用户代码片段的文件必须是json文件才可以使用,不然不可以使用 发现来源是此篇文章:如何解决Vue3没有代码提示问题?_vscode vue3代码提示_寻梦…

Nmap使用教程图文教程(超详细)

Nmap使用教程 一、端口扫描1. 指定端口2. 指定扫描方式2.1 TCP全连接扫描2.2 SYN半链接扫描2.3 隐秘扫描 二、主机探测三、服务识别四、系统识别五、扫描结果导出 kali的命令行中可以直接使用 nmap 命令,打开一个「终端」,输入 nmap 后回车,可…

K8s架构简述

以部署一个nginx服务说明kubernetes系统各个组件调用关系: 一旦kubernetes环境启动之后,master和node都会将自身的信息存储到etcd数据库中 一个nginx服务的安装请求会首先被发送到master节点的apiServer组件 apiServer组件会调用scheduler组件来决定到底…

代码随想录刷题笔记10——动态规划

动态规划理论基础 动态规划定义 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。 所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区…

【VUE复习·3】@keyup.xxx 键盘事件触发函数(单按键 or 组合按键触发)

总览 1.keyup.xxx or keydown.xxx 单按键触发 2.组合按键触发 一、keyup.xxx or keydown.xxx 1.用法 在我们使用 keyup.enter 时&#xff0c;那么我们可以这样写&#xff1a; <div><input type"text" placeholder"按下回车键以确定..." keyu…

【新版】系统架构设计师 - 层次式架构设计理论与实践

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录 架构 - 层次式架构设计理论与实践考点摘要层次式体系结构概述表现层框架设计MVC模式MVP模式MVVM模式使用XML设计表现层表现层中UIP设计思想 中间层架构设计业务逻辑层工作流设计业务逻辑层设计 数据访问层…

CyclicBarrier 、CountDownLatch 、Semaphore 的用法

1 CountDownLatch&#xff08;线程计数器 &#xff09; CountDownLatch类位于java.util.concurrent 包下&#xff0c;利用它可以实现类似计数器的功能。比如有一个任务 A&#xff0c;它要等待其他 4 个任务执行完毕之后才能执行&#xff0c;此时就可以利用 CountDownLatch 来实…

开源对手模拟工具:Network Flight Simulator

Network Flight Simulator 是一款轻量级实用程序&#xff0c;可生成恶意网络流量并帮助安全团队评估安全控制和网络可见性。 该工具执行测试来模拟 DNS 隧道、DGA 流量、对已知活动 C2 目的地的请求以及其他可疑流量模式。 安全行业内关于全面产品&#xff08;例如 EDR、SI…

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Badge

可以附加在单个组件上用于信息标记的容器组件。该组件从API Version 7开始支持。 支持单个子组件。子组件类型&#xff1a;系统组件和自定义组件&#xff0c;支持渲染控制类型&#xff08;if/else、ForEach和LazyForEach&#xff09;。 一、接口 方法1&#xff1a; Badge(value…

2022最新--Oracle数据库完整版(P1-P12)

目录结构 admin目录 cfgtoollogs目录 checkpoints目录 diag目录 flash_recovery_area&#xff08;闪回区&#xff09;目录 oradata目录 orcl数据库文件 数据库中的文件介绍 product目录 Oracle 系统用户介绍 sys用户 system用户 sys和system用户在登录时的区别 scott用户 Or…

法兰安装技术要求

法兰密封面应正确对中(轴向和径向)&#xff0c;法兰密封面的平行度和对中的允差应符合下列要求&#xff0c;如图 1所示&#xff1a; a) 法兰接头中心线错口<1.5 mm&#xff1b; b) 法兰接头密封面的不平行度≤0.8 mm&#xff1b; c) 法兰螺栓孔应对准&#xff0c;孔与孔之…

VM虚拟机连接NAT虚拟网络并上网的总结

关键字 VMware、NAT、VM虚拟机、ip route get、网关、私有云 设置 虚拟网络 VMware虚拟网络管理器中显示当前所有VMware的虚拟网络&#xff0c;根据显示&#xff0c;这里是"VMnet8"网络是NAT模式&#xff08;寄主机只能存在一个NAT虚拟网络&#xff0c;也就是说&a…

同步、异步

何为同步、异步&#xff1f; 同步任务&#xff08;synchronous&#xff09; 同步任务指的是&#xff0c;在主线程上排队执行的任务&#xff0c;只有前一个任务执行完毕&#xff0c;才能执行后一个任务&#xff1b;同步任务进栈顺序&#xff1a;先进后出&#xff0c;后进先出&…

天猫商品详情数据接口用于上货

天猫商品详情数据接口可以用于上货&#xff0c;具体操作步骤如下&#xff1a; 申请一个淘宝开放平台的应用&#xff0c;并获取到 App Key 和 App Secret。使用淘宝开放平台的淘宝客商品详情查询接口&#xff08;taobao.tbk.item.info.get&#xff09;&#xff0c;传入商品 ID&…

抖音开放平台第三方代小程序开发,一整套流程

大家好&#xff0c;我是小悟 抖音小程序第三方平台开发着力于解决抖音生态体系内的小程序管理问题&#xff0c;一套模板&#xff0c;随处部署。能尽可能地减少服务商的开发成本&#xff0c;服务商只用开发一套小程序代码作为模板就可以快速批量的孵化出大量的商家小程序。 第…

mp3stego(mp3隐写工具)使用手册

mp3stego是一个在通用的MP3音频文件中隐写的软件&#xff0c;对MP3进行隐写。 使用方法一&#xff0c;命令行运行 首先打开windows的命令行cmd&#xff08;同时按winR&#xff0c;输入CMD即可&#xff09; ​将下载好的MP3Stego解压缩到指定目录&#xff08;最好路径不要有中…

数据挖掘note(赵老师语录)

&#xff08;一&#xff09; 数据挖掘一般分为机器学习和统计学习&#xff0c;大数据学的课程一般是关于机器学习&#xff0c;我们学的浅&#xff0c;主要关于统计学习&#xff0c;示意图如下所示&#xff1a; 这是一个大数据时代&#xff0c;但是数据挖掘的利用率不足0.5%&am…

面试题:Web View如何做测试?

Web View&#xff08;网页视图&#xff09;是一种用于在应用程序中显示网页内容的组件或控件。提供了一种将网页内容嵌入到应用程序中的方式&#xff0c;使用户能够在应用程序中浏览和交互网页。 Web View通常用于开发移动应用程序&#xff0c;特别是混合应用程序&#xff08;…

宝塔nginx搭建Ftp文件服务器

一&#xff1a;创建FTP 填入账号密码后&#xff0c;选择根目录&#xff0c;这个根目录就是nginx要代理的目录 二&#xff1a;配置nginx root的地址就是上面填的FTP根目录 三&#xff1a;http访问 服务器ip端口号加图片 例如我放了一个320.jp 我服务器ip是110.120.120.120 那…