链接:
1448. 统计二叉树中好节点的数目
题意:
判断根节点到每个节点X的过程中,如果没有值大于X,则该节点为好节点,求好节点数量
解:
由于求根节点到其他节点的路径,则使用dfs算法,更新路径中的最大值即可
实际代码:文章来源:https://www.toymoban.com/news/detail-682656.html
#include<bits/stdc++.h>
using namespace std;
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) {}
};
int solve(TreeNode* root,int tMax)
{
int ret=0;
//cout<<root->val<<" "<<tMax<<endl;
if(root->val>=tMax) ret++;
if(root->left!=nullptr) ret+=solve(root->left,max(tMax,root->left->val));
if(root->right!=nullptr) ret+=solve(root->right,max(tMax,root->right->val));
return ret;
}
int goodNodes(TreeNode* root)
{
if(root==nullptr) return 0;
int ans=solve(root,root->val);
return ans;
}
int main()
{
return 0;
}
限制:文章来源地址https://www.toymoban.com/news/detail-682656.html
- 二叉树中节点数目范围是
[1, 10^5]
。 - 每个节点权值的范围是
[-10^4, 10^4]
。
到了这里,关于2023-08-25力扣每日一题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!