力扣刷题——111.二叉树的最小深度

111.二叉树的最小深度

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

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

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

示例 1:

输入:root = 3,9,20,null,null,15,7

输出:2

示例 2:

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

输出:5

提示:

树中节点数的范围在 0, 105 内

-1000 <= Node.val <= 1000

实现代码(Python):

python 复制代码
from collections import deque
# 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:
        if not root:
            return 0
        queue=deque([root])
        #res=[]
        height=0
        h=1000000

        while queue:
            #level=[]
            size=len(queue)
            height+=1
            for _ in range(size):
                #level.append(queue.popleft())
                node=queue.popleft()
                if node.left:
                    queue.append(node.left)
                if node.right:
                    queue.append(node.right)
                if not node.left and not node.right:
                    if height<h:
                        h=height
            #res.append(level)
        return h
        

分析

在层序遍历的基础上实现,或者可通过前中后序遍历实现

相关推荐
weixin_307779138 分钟前
从“人操作仪器”到“Agent 自主发现”:OPL 金属材料自驱动实验室 MVP 技术论述
开发语言·人工智能·算法·架构
释厄62319 分钟前
01AB 基本元理——任何智能体的三元法理·0=1→0≠1法理跃迁为天理
人工智能·windows·算法·microsoft·机器学习
梦想画家20 分钟前
SQLMesh Python 模型入门(二):依赖管理、引擎实战与内存优化
数据库·python·sqlmesh
Omics Pro31 分钟前
经典多组学整合算法→商用云平台
数据库·人工智能·算法·机器学习·自然语言处理
ting945200037 分钟前
深度拆解|1752vc Pitch Deck Analyzer 底层技术架构与核心算法原理
人工智能·算法·架构
贾斯汀frank44 分钟前
基于 Java + Playwright 实现网站自动访问与数据采集
算法
早睡早起不秃头&1 小时前
【架构】- 移动机器人系统的插件化:让定位算法独立演进
算法·架构
全栈练习生1 小时前
大模型原理之 KV Cache
python·ai
天赐范式1 小时前
天赐范式第183天:让选择开始生效——育种者方程与选择生效条件
python·数字生命·天赐范式·动态运行时·育种者方程·选择压力·遗传力
mmmmath_31 小时前
LeetCode.020.有效的括号
数据结构·算法·leetcode