深度优先遍历问题
深度优先遍历问题
问题描述
二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。
解题思路
基本概念
- 二叉树的深度是从根节点到最远叶子节点的路径上的节点数
- 叶子节点是指没有子节点的节点
- 空节点的深度为 0
递归思路
- 一个节点的最大深度 = max(左子树深度, 右子树深度) + 1
- 递归的终止条件:当节点为空时,返回 0
DFS(深度优先搜索)过程
1 | 对于每个节点: |
- 示例分析
1 | 例如对于树: |
- 复杂度分析
- 时间复杂度:O(n),其中 n 是节点数量
- 空间复杂度:O(h),其中 h 是树的高度,最坏情况下为 O(n)
代码实现
1 | class Solution: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Never Settle!
评论