题目

给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。
如果树中有不止一个众数,可以按 任意顺序 返回。
假定 BST 满足如下定义:
结点左子树中所含节点的值 小于等于 当前节点的值
结点右子树中所含节点的值 大于等于 当前节点的值
左子树和右子树都是二叉搜索树
示例 1:
输入:root = [1,null,2,2]
输出:[2]
示例 2:
输入:root = [0]
输出:[0]
提示:
树中节点的数目在范围 [1, 10^4] 内
-10^5 <= Node.val <= 10 ^5
来源:力扣(LeetCode)

解题思路

  二叉搜索树的中序遍历便是所以元素按照递增顺序排列的结果,当进行完中序遍历后就能根据字典建立包含各个元素的频率表,再按照频率由高到低排序,最后找出频率最高的一个或者几个元素。

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:def findMode(self, root: TreeNode) -> List[int]:temp=[]def inorder(root):if root!=None:inorder(root.left)temp.append(root.val)inorder(root.right)inorder(root)d={}for i in temp:d[i]=d.get(i,0)+1item=list(d.items())item.sort(key=lambda x:-x[1])ans=[item[0][0]]for i,j in item[1:]:if j==item[0][1]:ans.append(i)return ans

LeetCode简单题之二叉搜索树中的众数相关推荐

  1. LeetCode简单题之二叉搜索树中的搜索

    题目 给定二叉搜索树(BST)的根节点 root 和一个整数值 val. 你需要在 BST 中找到节点值等于 val 的节点. 返回以该节点为根的子树. 如果节点不存在,则返回 null . 示例 1 ...

  2. C#LeetCode刷题之#501-二叉搜索树中的众数​​​​​​​(Find Mode in Binary Search Tree)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4086 访问. 给定一个有相同值的二叉搜索树(BST),找出 BS ...

  3. [力扣] 501. 二叉搜索树中的众数

    501 二叉搜索树中的众数 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素). 例如: 给定 BST [1,null,2,2], 返回[2]. 提示:如果众数超 ...

  4. Suzy找到实习了吗 Day 21 | 二叉树进行中:530. 二叉搜索树的最小绝对差,501. 二叉搜索树中的众数,236. 二叉树的最近公共祖先

    530. 二叉搜索树的最小绝对差 题目 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 .差值是一个正数,其数值等于两值之差的绝对值. solution # Defi ...

  5. LeetCode450题—— 删除二叉搜索树中的节点

    首先需要认识什么是二叉搜索树,可以进入百度词条https://baike.baidu.com/item/%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91/70 ...

  6. LeetCode 501. 二叉搜索树中的众数(中序遍历)

    文章目录 1. 题目 2. 中序遍历 1. 题目 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素). 假定 BST 有如下定义: 结点左子树中所含结点的值小于等 ...

  7. LeetCode 501二叉搜索树中的众数-简单

    给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素). 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结点的值 结点右子树中所含结点的值大于等于当 ...

  8. LeetCode简单题之二叉搜索树的最小绝对差/最小距离

    题目 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 差值是一个正数,其数值等于两值之差的绝对值. 示例 1: 输入:root = [4,2,6,1,3] 输出: ...

  9. LeetCode简单题之二叉搜索树的范围和

    题目 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和. 示例 1: 输入:root = [10,5,15,3,7,null,18], low = 7, ...

最新文章

  1. VideoLAN、VLC 和 FFmpeg联合开发AV1 解码器 Dav1d
  2. 如何用python写html的插件,使用python开发vim插件及心得分享
  3. 计算机基础及ms应用在线,全国一级计算机基础及MS Office应用课件 (2).pdf
  4. 计算机组成原理中ID是什么,计算机组成原理.doc
  5. 解决问题:HTTP 错误 401.1 - 未授权:登录失败【转】
  6. 以下题目需要当场编写实现,,答案自己写
  7. php 去掉不可见字符串,php删除不可见的Unicode字符
  8. 分三种情况C语言编程,吴进的256basic.h阅读笔记,请问scanline_copy子程序为什么要分三种情况考虑:(1)d...
  9. 经典神经网络 -- RetinaNet的Focal_Loss : 设计原理与pytorch实现
  10. H.264学习过程中遇到的英文缩写整理
  11. 新华三杯考前突击---Day1---物联网技术篇
  12. Pybluez Win10系统安装教程(蓝牙通信模块pybluez,Python完美安装)
  13. android 常用软件包
  14. Sublime Text 3.0汉化教程
  15. linux copy 复制文件夹及子文件夹
  16. Android 退出登录功能
  17. [bowen干货]-redis常用五种数据类型命令和场景描述
  18. VMware安装MacOS系统苹果虚拟机
  19. 惠普无线鼠标没有反应
  20. 实施ERP系统后需要维护吗?

热门文章

  1. Adam那么棒,为什么还对SGD念念不忘 (3)—— 优化算法的选择与使用策略
  2. 使用idea新建maven工程的web项目的步骤
  3. ML Pipelines管道
  4. GeforceRTX系列参数对比
  5. MindSpore 高阶优化器
  6. 基本数据类型转换规则
  7. Fragment之间传递数据的方式
  8. Django 视图URLconf3.1
  9. Django入门之开发环境搭建1.1
  10. Android 自定义View —— Paint