LeetCode 104. 二叉树的最大深度(Maximum Depth of Binary Tree)
发布日期:2021-06-29 17:11:04
浏览次数:2
分类:技术文章
本文共 1589 字,大约阅读时间需要 5 分钟。
LeetCode.jpg
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
3 / \9 20 / \ 15 7
返回它的最大深度 3 。
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/101467149 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月04日 16时16分36秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
移植 RT-Thread Nano 到 RISC-V
2019-04-29
软件包应用分享|基于RT-Thread的百度语音识别(二)
2019-04-29
在 RT-Thread Nano 上添加控制台与 FinSH
2019-04-29
一站式开发工具:RT-Thread Studio 正式发布
2019-04-29
留言有礼|谢谢你悄悄点了小星星,让我们跃居GitHub RTOS Star榜第一
2019-04-29
功能更新!C 函数也能在 MicroPython 中被调用啦
2019-04-29
东软载波携ES32+RT-Thread走进海尔集团
2019-04-29
今晚8点直播预告:RT-Thread Studio等相关主题答疑
2019-04-29
物联网 20 年简史大揭秘!
2019-04-29
开源项目|RT-Thread 软件包应用作品:水墨屏桌面台历
2019-04-29
珠联璧合!基于i.MX RT和RT-Thread的物联网云接入方案
2019-04-29
基于RTT-MicroPython制作自带BGM的新型肺炎晴雨表
2019-04-29
RT-Thread 编程风格指南
2019-04-29
Android程序员必备!面试一路绿灯Offer拿到手软,Android面试题及解析
2019-04-29
Android开发知识体系!腾讯+字节+阿里面经真题汇总,成功入职阿里
2019-04-29
typescript学习(进阶)
2019-04-29
三天敲一个前后端分离的员工管理系统
2019-04-29
Cookie、Session
2019-04-29
表单重复提交
2019-04-29