题目简述:任意一个节点node到root节点上,如果存在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
};