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-统计二叉树中好结点的数目

LeetCode 2049统计最高分的节点数目[dfs 二叉树] HERODING的LeetCode之路

二叉树

数据结构二叉树的基础操作( 1.创建二叉树2.先序遍历3.中序排序4.后序遍历 5.层序遍历6. 统计节点的数目 7.交换左右子树 8.计算并输出该二叉树的深度)