二叉树的最大深度
Maximum Depth of Binary Tree
本机进度仅保存在当前浏览器
题目描述
给定一个二叉树 root,返回其最大深度(根节点到最远叶子节点的最长路径上的节点数)。
示例:树 [3, 9, 20, null, null, 15, 7],最大深度为 3。
解题思路
- 树的最大深度 = max(左子树深度, 右子树深度) + 1,天然的递归定义。
- 递归基:空节点深度为 0;自底向上汇总即得答案。
- 迭代写法用 BFS 层序计数或 DFS 显式栈,面试时能写出递归版并说明复杂度即可。
参考实现
查看参考实现Python · 建议先自行作答
def maxDepth(root):
# 自底向上:深度 = 左右子树深度的最大值 + 1
if not root:
return 0
return 1 + max(maxDepth(root.left), maxDepth(root.right))