LeetCode 111. 二叉树的最小深度(Minimum Depth of Binary Tree)
发布日期:2021-06-29 17:11:02
浏览次数:2
分类:技术文章
本文共 1589 字,大约阅读时间需要 5 分钟。
LeetCode.jpg
给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
3 / \9 20 / \ 15 7
返回它的最小深度 2.
Python3实现
DFS 深度优先
# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None# @author:leacoder # @des: DFS 深度优先 二叉树的最大深度 时间复杂度 O(n)class Solution: def maxDepth(self, root: TreeNode) -> int: if not root: return 0 #入参校验 else: # DFS leftlevel = self.maxDepth(root.left) # 递归 左子树 得到其深度 rightlevel = self.maxDepth(root.right) # 递归 右子树 得到其深度 return 1 + max(leftlevel,rightlevel) # 取最大深度
BFS广度优先
# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None# @author:leacoder # @des: BFS 广度优先 二叉树的最大深度 时间复杂度 O(n)class Solution: def maxDepth(self, root: TreeNode) -> int: if not root: return 0 #入参校验 else: # BFS queue = collections.deque() queue.append(root) # 辅助队列 maxlevel = 0 #层级记录 while queue: levelsize = len(queue) # for i in range(levelsize): node = queue.popleft() if node.left: queue.append(node.left) if node.right: queue.append(node.right) maxlevel +=1 # 广度优先搜索 每层搜完 层级+1 return maxlevel
GitHub链接:
知乎个人首页:个人Blog:欢迎大家来一起交流学习
转载地址:https://blog.csdn.net/leacock1991/article/details/101467143 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年05月01日 05时51分42秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
图像二值化----otsu(最大类间方差法、大津算法)(二)
2019-04-29
OpenCV编程案例:使用轮廓函数检测连通区域
2019-04-29
opencv使用cvFindContours提取联通域
2019-04-29
C++中MessageBox的常见用法
2019-04-29
ordfilt2函数功能说明
2019-04-29
在图像变换中用最小二乘法求解仿射变换参数
2019-04-29
软件包应用分享|基于RT-Thread的百度语音识别(一)
2019-04-29
12月8日 RCEA - RT-Thread能力认证考试考前通知
2019-04-29
论坛热贴 | RT-Thread音频驱动开发(一)
2019-04-29
基于 Keil MDK 移植 RT-Thread Nano
2019-04-29
移植 RT-Thread Nano 到 RISC-V
2019-04-29
软件包应用分享|基于RT-Thread的百度语音识别(二)
2019-04-29
一站式开发工具:RT-Thread Studio 正式发布
2019-04-29
今晚8点直播预告:RT-Thread Studio等相关主题答疑
2019-04-29
开源项目|RT-Thread 软件包应用作品:水墨屏桌面台历
2019-04-29
RT-Thread 编程风格指南
2019-04-29
Android程序员必备!面试一路绿灯Offer拿到手软,Android面试题及解析
2019-04-29
Android开发知识体系!腾讯+字节+阿里面经真题汇总,成功入职阿里
2019-04-29
typescript学习(进阶)
2019-04-29