← [ BACK_TO_NOTES ]

统计二叉树中好节点的数目

1448. 统计二叉树中好节点的数目 - 力扣(LeetCode)

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

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

统计二叉树中好节点的数目

题目

1448. 统计二叉树中好节点的数目 - 力扣(LeetCode)

从根到当前节点的路径上,没有比当前值更大的节点时,该节点是好节点;相等也符合。根节点总符合。传入的 max 是当前路径的最大值,不能用横跨兄弟子树的全局最大值。

题解

链表-二叉树-回溯

var goodNodes = function(root) {
    let res = 0;
    if (!root) return 0;
    // 把 当前路线上的最大值传下去
    function dfs(node, max) {
        if (!node) return;
        if (node.val >= max) {
            res++;
        }
        max = Math.max(max, node.val);
        dfs(node.left,max);
        dfs(node.right,max)
    }
    dfs(root, -Infinity)
    return res;
};

时间 O(n),递归栈 O(h)。传参使左右分支各自继承路径状态,处理完左子树不应污染右子树。

创建于 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
关闭浮层 / 取消命令;输入框内清空文本