简介:给定一个二叉树,找出其最大深度
文心快码(BaiduComate)是基于百度文心大模型,在研发全流程全场景下为开发者提供辅助建议的智能代码助手。结合百度积累多年的编程现场大数据、外部优秀开源数据,可为开发者生成更符合实际研发场景的优秀代码,提升编码效率,释放“十倍”软件生产力。
📮如果您对【文心快码企业版】感兴趣,或希望获取更多详细信息,请直接📩私信我们~
我们会尽快安排专业人员与您取得联系!我们期待与您建立联系,为您的企业带来更高效、更智能的工作体验。
给定一个二叉树,找出其最大深度是一个常见的问题。深度是从根节点到最远叶子节点的最长路径上的节点数量。这个问题通常可以通过递归或迭代(使用栈或队列)来解决。下面是一个使用递归的Python示例:
class TreeNode:
def init(self, value=0, left=None, right=None):
self.value = value
self.left = left
self.right = right
def max_depth(root):
if root is None:
return 0
else:
left_depth = max_depth(root.left)
right_depth = max_depth(root.right)
return max(left_depth, right_depth) + 1
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root.left.left = TreeNode(4)
root.left.right = TreeNode(5)
print(“The maximum depth of the binary tree is:”, max_depth(root)) # 输出应为 3
在这个例子中,max_depth函数递归地计算左子树和右子树的最大深度,并返回两者中的最大值加1(加上根节点)。如果节点为空(即到达了叶子节点的下一层),则返回深度0。通过这种方式,函数能够计算出从根节点到最远叶子节点的最长路径。`