← [ BACK_TO_NOTES ]

二叉树的最大深度

用自顶向下与自底向上的 DFS 计算二叉树最大深度,深度按路径节点数计。

#algorithm #snippet #evergreen #leetcode #tree #dfs

[!info] related notes 算法面试题型 MOC 二叉树高频题

二叉树的最大深度

题目

104. 二叉树的最大深度 - 力扣(LeetCode)

最大深度是根到最远叶子的路径节点数:空树为 0,单节点为 1,不是边数。下面两种独立写法都访问全部节点,时间 O(n)、递归栈 O(h),退化树可能触发调用栈限制。

题解

链表-二叉树-回溯

var maxDepth = function(root) {
    let ans = 0;
    function dfs(node, depth) {
        if (node === null) {
            return;
        }
        depth++;
        ans = Math.max(ans, depth);
        dfs(node.left, depth);
        dfs(node.right, depth);
    };
    dfs(root, 0);
    return ans;
};

链表-二叉树-回溯

var maxDepth = function(root) {
    if (root === null) {
        return 0;
    }
    const lDepth = maxDepth(root.left);
    const rDepth = maxDepth(root.right);
    return Math.max(lDepth, rDepth) + 1;
};
创建于 2025/1/1 更新于 2026/10/7
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本