104. 二叉树的最大深度
1. 题目
给定一个二叉树 root
,返回其最大深度。
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。
示例 1:
1 | 输入:root = [3,9,20,null,null,15,7] |
示例 2:
1 | 输入:root = [1,null,2] |
提示:
- 树中节点的数量在
[0, 10^4]
区间内。 -100 <= Node.val <= 100
2. 思路
- 已知题目要求计算出二叉树的最深深度,因此有且仅有完整遍历二叉树的所有结点才能够得知最大的深度
- 采用递归算法,当
root
为null
时,直接返回0,否则返回1 +当前二叉树左节点的最大深度 or 当前二叉树右节点的最大深度
- 采用以上即可完整遍历二叉树,同时借用递归特性获取最大深度
3. 代码
1 | /** |
4. 复杂度
- 时间复杂度:O(n)
- 空间复杂度:O(1)