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

leetcode501-二叉搜索树中的众数

leetcode 501
在这里插入图片描述

思路

由于是二叉搜索树,那么我们知道它的特性:使用中序遍历得到的是从小到大排序的,所以我们利用这个规则,使用count来统计每次出现一个新的数的总个数,maxCount统计最大的个数值,result来存储二叉树中的众数,也就是要得到的结果值,pre用于统计前一个节点值
初始化定义好值以后,我们需要使用中序遍历,中间处理逻辑值
当pre还不存在的时候或者前一个节点跟后一个节点不相同时,说明出现了新的数字,要重新开始统计,更新count = 1, 更新节点为当前节点
如果数字相同的话,那么count++
然后比较maxCount和count的值,如果相等,说明当前值也是最大值,如果maxCount < count,那么说吗之前存在result中的数字都不是最大的数字,现在又出现了更大的数字,所以我们重新设置result为当前的数字
最终返回result

实现

var findMode = function (root) {
    let count = 0, maxCount = 0;
    let result = [];
    let pre = null;
    const deep = (root) => {
        if(!root) return;
        // 左
        deep(root.left)
        // 中
        if(!pre || pre.val !== root.val){
            count = 1;
            pre = root;
        }else{
            count ++
        }
        if(maxCount === count){
            result.push(root.val)
        }else if(maxCount < count){
            maxCount = count
            result = [root.val]
        }
        // 右
        deep(root.right)
    }
    deep(root)
    return result;
};
http://www.dtcms.com/a/73384.html

相关文章:

  • 烽火HG680-KA_海思HI3798MV310_安卓9.0_U盘强刷固件包及注意点说明
  • 整除分块 (+例题变形K-取模 2022年天梯赛(GPLT)上海理工大学校内选拔赛)
  • 最长公共子序列(动态规划法+优化)
  • NL2SQL 优化之 Schema 编写标准
  • 单词翻转(信息学奥赛一本通-1144)
  • AI视觉测试工具实战评测:以Applitools为例的技术解析与行业应用
  • CoreData 调试警告:多个 NSEntityDescriptions 声明冲突的解决
  • JSON 数据详解
  • 【再读】R1-Onevision通过跨模态形式化为复杂多模态推理任务提供了系统性解决方案
  • 盘库吧--搜索
  • 开源模型中的 Function Call 方案深度剖析
  • 【Linux系统】进程地址空间详解
  • 代码随想录算法训练营第五十九天| 图论05
  • 【MySQL】MySQL如何存储数据?
  • 计算机网络-1-1计算机网络体系结构
  • 清晰易懂的Java8安装教程
  • Deepseek API+Python测试用例一键生成与导出-V1.0.2【实现需求文档图片识别与用例生成自动化】
  • 可视化图解算法:判断链表中是否有环(环形链表)
  • JVM 垃圾回收器分类及其特点详解
  • TypeScript语言的计算机视觉
  • 前端性能优化回答思路
  • 【自学笔记】Redis基础知识点总览-持续更新
  • 移除元素(快慢指针)
  • 测试工作内容
  • 产品更新丨谷云科技ETLCloud 3月更新速递
  • 破解大数据密码:蓝耘Maas平台与阿里QWQ的智能分析革命
  • [MAVEN][经验总结]MAVEN_HOME和M2_HOME的配置建议
  • Linux-数据结构-线性表-单链表
  • 【计量地理学】实验一 地理数据的基本统计分析
  • Cluster Computer(SCI1区)投稿常见问题