当前位置: 首页 > news >正文

【代码随想录day 18】 力扣 501.二叉搜索树中的众数

视频讲解:https://www.bilibili.com/video/BV1fD4y117gp/?vd_source=a935eaede74a204ec74fd041b917810c
文档讲解:https://programmercarl.com/0501.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E4%B8%AD%E7%9A%84%E4%BC%97%E6%95%B0.html#%E6%80%9D%E8%B7%AF
力扣题目:https://leetcode.cn/problems/find-mode-in-binary-search-tree/

这道题的主要思路如下:

  1. 双指针遍历二叉树,在遍历过程中对遍历的数进行如下操作。
  2. 如果pre指针等于cur指针,count++,如果不相等,count重新计数,pre指针始终跟紧cur指针。
  3. 如果count大于maxcount,更新maxcount,并且把存入数组的数弹出放入新的。
class Solution {
public:TreeNode *pre=NULL;int count=0;int maxcount=0;vector<int> result;void travesal(TreeNode *cur){//判断终止条件if(cur == NULL) return;//开始递归//左travesal(cur->left);//中//第一次遍历,pre还没跟上cur,count计数为1if(pre == NULL) count=1;//pre跟上了cur,即pre有值,且等于cur的值,count计数++else if(pre->val==cur->val) count++;//pre存在且不相等与cur,重新计数countelse count=1;//pre跟上curpre=cur;//如果count等于maxcount,即众数不止一个,存入数组中if(count == maxcount)  result.push_back(cur->val);//如果count大于最大count,更新maxcountif(count>maxcount) {maxcount=count;//说明有其他数的频率大于这个数,弹出并放入新的数result.clear();result.push_back(cur->val);}//右travesal(cur->right);return;}vector<int> findMode(TreeNode* root) {//if(!root) return 0;travesal(root);return result;}
};
http://www.lryc.cn/news/618180.html

相关文章:

  • 我的 LeetCode 日记:Day 35 - 解构动态规划,初探 0/1 背包问题
  • 如何检查pip版本
  • Spring Boot项目中调用第三方接口
  • 【Unity】GraphicRaycaster点击失效问题
  • 邦纳BANNER相机视觉加镜头PresencePLUSP4 RICOH FL-CC2514-2M工业相机
  • 一周学会Matplotlib3 Python 数据可视化-绘制饼状图(Pie)
  • 【Activiti】要点初探
  • SQL tutorials
  • 当 GitHub 宕机时,我们如何协作?
  • 【C#】正则表达式
  • 计算机视觉(4)-相机基础知识恶补
  • 计算机网络2-3:传输方式
  • 集合,完整扩展
  • AWS EKS 常用命令大全:从基础管理到高级运维
  • 面试八股之从Java到JVM层面深入解析ReentrantLock实现原理
  • c++的四种类型转换(static_cast,reinterpret_cast,const_cast,dynamic_cast)详解和代码示例
  • 【R语言数据分析开发指南】
  • C++学习之数据结构:AVL树
  • 干货分享|如何从0到1掌握R语言数据分析
  • Rust:构造函数 new() 如何进行错误处理?
  • Vue.js 响应接口:深度解析与实践指南
  • 《Auracast广播音频技术解析及未来路线图》 —蓝牙技术联盟 市场拓展经理 吴志豪 技术与市场经理 鲁公羽
  • 基于 Easy Rules 的电商订单智能决策系统:构建可扩展的业务规则引擎实践
  • 电商双 11 美妆数据分析总结
  • CTO如何通过录音转写和音频降噪,提升企业远程协作效率?
  • 数据分析与可视化
  • 阿里巴巴开源多模态大模型-Qwen-VL系列论文精读(一)
  • Spring Cloud系列—Config配置中心
  • B树索引和B+树索引有什么区别?
  • TinyVue表格重构性能优化详解