当前位置: 首页 > 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.dtcms.com/a/328257.html

相关文章:

  • 免费播客翻译与转录:用中文收听全球播客
  • Langchain入门:文本摘要
  • C++学习之数据结构:AVL树
  • java八股文-MySql面试题-参考回答
  • GPFS api
  • 在 C语言 中构建安全泛型容器:使用 maybe 实现安全除法
  • 【PCB设计经验】去耦电容如何布局?
  • 力扣top100(day01-04)
  • 企业级的即时通讯平台怎么保护敏感行业通讯安全?
  • 电竞 体育数据 API 应用场景全解析
  • Day50--图论--98. 所有可达路径(卡码网),797. 所有可能的路径
  • Quartz
  • Mybatis源码解读-SqlSession 会话源码和Executor SQL操作执行器源码
  • 谷歌云代理商:用 AI 启航,Gemini 重塑旅游酒店行业新体验
  • 【SpringBoot】07 容器功能 - SpringBoot底层注解的应用与实战 - @ConfigurationProperties配置绑定
  • 从0入门LangGraph,手搓高质量Agent
  • 【自动化运维神器Ansible】playbook文件内变量定义全流程解析
  • 谷歌ADK接入文件操作MCP
  • Linux中Https配置与私有CA部署指南
  • Java 工厂方法模式
  • C++单继承虚函数表探索
  • 京东方 DV133FHM-NN1 FHD13.3寸 工业液晶模组技术档案
  • 玩转Docker | 使用Docker部署Radicale日历和联系人工具
  • [激光原理与应用-250]:理论 - 几何光学 - 透镜成像的优缺点,以及如克服缺点
  • 万物平台模型导入样例大全(实时更新中~)
  • SM4对称加密算法的加密模式介绍
  • JavaEE 初阶第十八期:叩开网络世界的大门(上)
  • ffmpeg-AVFilter 和 Filter Graph 使用指南
  • ffmpeg,ffplay, vlc,rtsp-simple-server,推拉流命令使用方法,及测试(二)
  • Stereolabs ZED相机 选型指南:双目 / 单目、短距 / 长距,如何为机器人视觉系统匹配最优方案?