[剑指 Offer 第 2 版第 55-1 题] “二叉树的深度”做题记录
[剑指 Offer 第 2 版第 55-1 题] “二叉树的深度”做题记录
第 55-1 题:二叉树的深度
传送门:二叉树的深度,牛客网 online judge 地址。。
输入一棵二叉树的根结点,求该树的深度。
从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
样例:
输入:二叉树
[8, 12, 2, null, null, 6, 4, null, null, null, null]
如下图所示:8 / \ 12 2 / \ 6 4
输出:3
思路:使用广度优先遍历。
Python 代码:
class Solution:
def treeDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if root is None:
return 0
queue = [(1, root)]
res = 0
while queue:
top = queue.pop(0)
cur_depth, node = top[0], top[1]
res = max(res, cur_depth)
if node.left:
queue.append((cur_depth + 1, node.left))
if node.right:
queue.append((cur_depth + 1, node.right))
return res
作者:liweiwei1419
来源:https://liweiwei1419.github.io/sword-for-offer/
看完两件小事
如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:
- 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
- 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
本文著作权归作者所有,如若转载,请注明出处
转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com