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

Posted Debroon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1448. 统计二叉树中好节点的数目相关的知识,希望对你有一定的参考价值。

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

 


题目

传送门:https://leetcode.cn/problems/count-good-nodes-in-binary-tree/


 


算法设计:深度优先搜索

curMax 记录从根节点到当前节点路径中的最大值,如果 root.val >= curMax 则可 root 是「好节点」,再把 pathMax 传递到子树中继续判断其他节点。

class Solution 
public:
    int count = 0;
    void dfs(TreeNode* node, int curMax) 
        if (!node) return;
        if (node->val >= curMax) 
            count++;                    
            curMax = node->val;
        
        dfs(node->left, curMax);
        dfs(node->right, curMax);
    
    
    int goodNodes(TreeNode* root) 
        dfs(root, root->val);
        return count;
    
;

以上是关于1448. 统计二叉树中好节点的数目的主要内容,如果未能解决你的问题,请参考以下文章

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

leetcode-26双周赛-5398-统计二叉树中好结点的数目

leetcode-26双周赛-5398-统计二叉树中好结点的数目

124. 二叉树中的最大路径和

算法总结-深度优先算法

1261. 在受污染的二叉树中查找元素