LeetCode简单题之二叉搜索树中的众数
题目
给你一个含重复值的二叉搜索树(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简单题之二叉搜索树中的众数相关推荐
- LeetCode简单题之二叉搜索树中的搜索
题目 给定二叉搜索树(BST)的根节点 root 和一个整数值 val. 你需要在 BST 中找到节点值等于 val 的节点. 返回以该节点为根的子树. 如果节点不存在,则返回 null . 示例 1 ...
- C#LeetCode刷题之#501-二叉搜索树中的众数(Find Mode in Binary Search Tree)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4086 访问. 给定一个有相同值的二叉搜索树(BST),找出 BS ...
- [力扣] 501. 二叉搜索树中的众数
501 二叉搜索树中的众数 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素). 例如: 给定 BST [1,null,2,2], 返回[2]. 提示:如果众数超 ...
- Suzy找到实习了吗 Day 21 | 二叉树进行中:530. 二叉搜索树的最小绝对差,501. 二叉搜索树中的众数,236. 二叉树的最近公共祖先
530. 二叉搜索树的最小绝对差 题目 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 .差值是一个正数,其数值等于两值之差的绝对值. solution # Defi ...
- LeetCode450题—— 删除二叉搜索树中的节点
首先需要认识什么是二叉搜索树,可以进入百度词条https://baike.baidu.com/item/%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91/70 ...
- LeetCode 501. 二叉搜索树中的众数(中序遍历)
文章目录 1. 题目 2. 中序遍历 1. 题目 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素). 假定 BST 有如下定义: 结点左子树中所含结点的值小于等 ...
- LeetCode 501二叉搜索树中的众数-简单
给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素). 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结点的值 结点右子树中所含结点的值大于等于当 ...
- LeetCode简单题之二叉搜索树的最小绝对差/最小距离
题目 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 差值是一个正数,其数值等于两值之差的绝对值. 示例 1: 输入:root = [4,2,6,1,3] 输出: ...
- LeetCode简单题之二叉搜索树的范围和
题目 给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和. 示例 1: 输入:root = [10,5,15,3,7,null,18], low = 7, ...
最新文章
- VideoLAN、VLC 和 FFmpeg联合开发AV1 解码器 Dav1d
- 如何用python写html的插件,使用python开发vim插件及心得分享
- 计算机基础及ms应用在线,全国一级计算机基础及MS Office应用课件 (2).pdf
- 计算机组成原理中ID是什么,计算机组成原理.doc
- 解决问题:HTTP 错误 401.1 - 未授权:登录失败【转】
- 以下题目需要当场编写实现,,答案自己写
- php 去掉不可见字符串,php删除不可见的Unicode字符
- 分三种情况C语言编程,吴进的256basic.h阅读笔记,请问scanline_copy子程序为什么要分三种情况考虑:(1)d...
- 经典神经网络 -- RetinaNet的Focal_Loss : 设计原理与pytorch实现
- H.264学习过程中遇到的英文缩写整理
- 新华三杯考前突击---Day1---物联网技术篇
- Pybluez Win10系统安装教程(蓝牙通信模块pybluez,Python完美安装)
- android 常用软件包
- Sublime Text 3.0汉化教程
- linux copy 复制文件夹及子文件夹
- Android 退出登录功能
- [bowen干货]-redis常用五种数据类型命令和场景描述
- VMware安装MacOS系统苹果虚拟机
- 惠普无线鼠标没有反应
- 实施ERP系统后需要维护吗?