高中课程免费教学网站,多用户网店系统,网站开发设计公,上海闵行建设局官方网站目录
题目#xff1a;
示例#xff1a;
分析#xff1a;
代码#xff1a; 题目#xff1a; 示例#xff1a; 分析#xff1a;
给我们一棵二叉树#xff0c;让我们统计这棵二叉树中好节点的数目。
那么什么是好节点#xff0c;题目中给出定义#xff0c;从根节点…目录
题目
示例
分析
代码 题目 示例 分析
给我们一棵二叉树让我们统计这棵二叉树中好节点的数目。
那么什么是好节点题目中给出定义从根节点到好节点中没有一个节点的数值大于好节点的数值。
那么我们一样是递归这棵二叉树只不过我们需要多携带一个参数那就是沿途节点的最大值每次遇到比沿途节点的最大值还大或者是等于的节点时我们就可以认为当前这个节点就是好节点然后我们将答案1并且更新沿途节点的最大值然后再接着遍历。
整棵二叉树递归遍历完毕之后我们就可以得到好节点的数目了。 代码
class Solution {
public:int res0;void digui(TreeNode* root,int Max){if(rootnullptr) return;if(root-valMax){res;Maxmax(Max,root-val);}digui(root-left,Max);digui(root-right,Max);}int goodNodes(TreeNode* root) {if(rootnullptr) return 0;digui(root,root-val);return res;}
};