怎样找出python二叉树的最大深度,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
【题目】
给定一个二叉树,找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。
【思路】
使用二叉树的常用解法:递归得到左子树最大高度、右子树最大高度(如果某个子树为空,那么高度为0),那么本层的高度就为两者高度最大值+1。
【代码】
python版本
# 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 = rightclass Solution: def maxDepth(self, root: TreeNode) -> int: # 节点为None,返回高度为0 if not root: return 0 left_depth, right_depth = 0, 0 # 得到左子树高度 if root.left: left_depth = self.maxDepth(root.left) # 得到右子树高度 if root.right: right_depth = self.maxDepth(root.right) return max(left_depth, right_depth) + 1
看完上述内容,你们掌握怎样找出python二叉树的最大深度的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4581374/blog/4672151