中等
技术面试0 次浏览

给定一个二叉树,编写一个函数计算其最大深度。

微软中国算法工程师
算法二叉树深度计算

答题要点

推荐答题框架:采用递归的思路,按照递归函数的设计步骤进行解答。关键要点:1. 明确递归终止条件,即当节点为空时,深度为 0。2. 递归计算左子树和右子树的深度。3. 取左右子树深度的最大值加 1 作为当前节点的深度。4. 从根节点开始递归调用。示例话术:我们可以使用递归的方法来计算二叉树的最大深度。首先,递归的终止条件是当节点为空时,返回深度 0。然后,分别递归计算左子树和右子树的深度。最后,当前节点的深度就是左右子树深度的最大值加 1。以下是实现代码:python class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right def max_depth(root): if root is None: return 0 left_depth = max_depth(root.left) right_depth = max_depth(root.right) return max(left_depth, right_depth) + 1