力扣刷题——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
        

分析

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

相关推荐
鹿角片ljp8 小时前
LeetCode 46. 全排列|吃透回溯
算法·leetcode·职场和发展
鼎艺创新科技8 小时前
不依赖 UE/Unity:我们如何从零搭建一套国产三维 GIS 渲染引擎
人工智能·算法·unity·游戏引擎·三维电子沙盘
石头猫灯9 小时前
WordPress wp2shell 漏洞链完整拆解流程
网络·数据结构·安全·web安全
程序员三藏9 小时前
Python+requests实现接口自动化测试
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
一直走下去-明10 小时前
简单的http抓包解包完整代码
开发语言·python
雷帝木木11 小时前
数据湖与数据仓库:从理论到实践
人工智能·python·深度学习·机器学习
.道阻且长.11 小时前
11.LeetCode算法习题讲解--滑动窗口--将x减到0的最小操作数
算法·leetcode·职场和发展
数字化转型分享点滴11 小时前
机加工车间上线 SH‑AIOT 物联网会遇到哪些常见实施难点
python·物联网
wenyq711 小时前
LeetCode 2460. Apply Operations to an Array
算法·leetcode
05664611 小时前
agent学习——流式响应与文本切分
网络·python·学习