【leetcode】1448. 统计二叉树中好节点的数目

61 阅读1分钟

leetcode-1448.png

题目简述:任意一个节点noderoot节点上,如果存在node.val >= root.val,则称这个节点为good node,求给定的树有多少个good node

这一题的思路挺简单的,就是带着最大值进行dfs即可

var goodNodes = function (root) {
    let cnt = 0
    var dfs = function (node, maxNum) {
        if (!node) return
        // 满足条件,则 ++
        if (node.val >= maxNum) cnt++
        // 更新最大节点值
        maxNum = Math.max(node.val, maxNum)
        // dfs 递归
        dfs(node.left, maxNum)
        dfs(node.right, maxNum)
    }
    dfs(root, root.val)
    return cnt
};