501. 二叉搜索树中的众数
搜索 二叉 树中 众数
2023-09-27 14:26:25 时间
给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。
如果树中有不止一个众数,可以按 任意顺序 返回。
假定 BST 满足如下定义:
结点左子树中所含节点的值 小于等于 当前节点的值
结点右子树中所含节点的值 大于等于 当前节点的值
左子树和右子树都是二叉搜索树
示例 1:
输入:root = [1,null,2,2]
输出:[2]
示例 2:
输入:root = [0]
输出:[0]
提示:
树中节点的数目在范围 [1, 104] 内
-105 <= Node.val <= 105
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
struct TreeNode *pre;
int cnt, max_cnt;
void inorder(struct TreeNode *root, int *ret, int *pn) {
if (root == NULL) return;
inorder(root->left, ret, pn);
if (pre == NULL || pre->val != root->val) cnt = 1;
else cnt += 1;
pre = root;
if (cnt == max_cnt) {
ret[(*pn)++] = root->val;
} else if (cnt > max_cnt) {
max_cnt = cnt;
ret[0] = root->val;
*pn = 1;
}
inorder(root->right, ret, pn);
return;
}
int* findMode(struct TreeNode* root, int* returnSize){
int *ret = (int *)malloc(sizeof(int) * 10000);
*returnSize = 0;
pre = NULL;
cnt = 0;
max_cnt = -1;
inorder(root, ret, returnSize);
return ret;
}
相关文章
- 阿里云elasticsearch index索引库同步到华为云搜索服务CSS(elasticsearch)demo
- Laravel 多 where 并搜索
- 二叉搜索树
- KMP算法:在字符串s中搜索匹配查找match字符串,如果能找到返回首个匹配位置i,否则返回-1
- 求二叉树中,包含的最大二叉搜索子树的节点数量是多少
- 微服务轮子项目(11) - 实时搜索系统设计
- JS Leetcode 530. 二叉搜索树的最小绝对差 题解分析,再次了解中序遍历
- 求构建不同的二叉搜索树-Python
- [其它] 吐槽下百度的搜索(北京冬季残奥运)
- 二叉搜索树(BST)——Treap树
- 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先
- 剑指 Offer 54. 二叉搜索树的第k大节点
- 判断一棵二叉树是否为二叉搜索树
- Qt 为搜索结果增加右键菜单
- 105、【树与二叉树】leetcode ——530. 二叉搜索树的最小绝对差:中序遍历递归法+迭代法(C++版本)
- 104、【树与二叉树】leetcode ——98. 验证二叉搜索树:递归法[先序+中序+后序]+迭代法(C++版本)
- iOS 10支持图片搜索?带你认识下安防领域的检索功能!
- 【剑指offer】23二叉搜索树的后序遍历序列
- 浏览器搜索功能的使用
- 【历史上的今天】10 月 23 日:ipod 问世;谷歌推出 CSE 搜索服务;人机交互领域先驱诞生
- 【leetcode】538/1038: 把二叉搜索树转化为累加树
- 利用栈(Stack)实现树(tree)的深度优先搜索(Python)
- [LeetCode] Minimum Distance Between BST Nodes 二叉搜索树中结点的最小距离
- [LeetCode] 426. Convert Binary Search Tree to Sorted Doubly Linked List 将二叉搜索树转为有序双向链表
- [LeetCode] Two Sum IV - Input is a BST 两数之和之四 - 输入是二叉搜索树
- [LeetCode] 98. Validate Binary Search Tree 验证二叉搜索树
- [LeetCode] 99. Recover Binary Search Tree 复原二叉搜索树
- Vue经典实例之数据搜索、数据过滤(简单易懂)
- leetcode 450. Delete Node in a BST 删除二叉搜索树中的节点 (中等)
- leetcode 235. Lowest Common Ancestor of a Binary Search Tree 二叉搜索树的最近公共祖先(简单)
- leetcode 79. Word Search 单词搜索
- leetcode算法235.二叉搜索树的最近公共祖先