[LeetCode]5398. 统计二叉树中好节点的数目 原创
题目来源 LeetCode20200517双周赛
算法标签 二叉树,树状结构
题目描述

思路
这里的思路很显然,我们需要左右子路径全部走一遍
1.如果下一个大于等于路径上的最大值就ans++
2.我们要注意最大值的保存,所以必须自己生成一个自定义函数用参数进行存储
AC代码
/**
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
* };
*/
class Solution {
public:
int res;
void dfs(TreeNode* root,int lstmax)
{
if(root->val>=lstmax)res++;
if(root->left)dfs(root->left,max(lstmax,root->val));
if(root->right)dfs(root->right,max(lstmax,root->val));
}
int goodNodes(TreeNode* root) {
dfs(root,-0x3f3f3f);
return res;
}
};

浙公网安备 33010602011771号