美文网首页
Leetcode501:二叉搜索树的众数

Leetcode501:二叉搜索树的众数

作者: VIELAMI | 来源:发表于2020-09-24 20:01 被阅读0次
image.png

思路就是二叉树的中序遍历
对于一个二叉搜索树来说,它的中序遍历会是一个排序数组
排序后相同的数都会出现在某一段

class Solution {
public:
    int maxSize = 0;
    vector<int> findMode(TreeNode* root) {
    vector<int> res;
    int base = NULL;
    int count = NULL;
    findModeHelp(root, base, count, res);
    return res;
    }

void findModeHelp(TreeNode* root, int & base, int & count, vector<int> & res){
    if(root == NULL) return;
    
    
    
    findModeHelp(root->left, base, count, res);
    
    if(base == NULL && count == NULL){
        // cout<<"middle trace initialize: "<<root->val<<endl;
        base = root->val;
        count = 1;
        maxSize = count;
        res.push_back(base);
    }
    else{
        // cout<<"middle trace: "<<root->val<<endl;
        // cout<<"base: "<<base<<endl;
        // cout<<"count: "<<count<<endl;
        // cout<<"maxSize: "<<maxSize<<endl;
        if(root->val == base) {
            count++;
            if(count > maxSize){
                res.clear();
                res.push_back(base);
                maxSize = count;
            }
            else if(count == maxSize){
                res.push_back(base);
            }
        }
        else{ // 前一数值结束
            base = root->val;
            count = 1;
            if(count == maxSize) res.push_back(base);
        }
        
    }
    
    findModeHelp(root->right, base, count, res);
}
};

相关文章

  • Leetcode501:二叉搜索树的众数

    思路就是二叉树的中序遍历对于一个二叉搜索树来说,它的中序遍历会是一个排序数组排序后相同的数都会出现在某一段

  • 501-二叉搜索树中的众数

    二叉搜索树中的众数 题目 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)...

  • 经典好题

    501. 二叉搜索树中的众数[https://leetcode-cn.com/problems/find-mode...

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

    501. 二叉搜索树中的众数[https://leetcode-cn.com/problems/find-mode...

  • 数据结构与算法之二叉搜索树(八)

    目录 二叉搜索树概念二叉搜索树的接口设计,包括增,删,改,查平衡二叉搜索树 一 二叉搜索树 二叉搜索树是二叉树的一...

  • Algorithm小白入门 -- 二叉搜索树

    二叉搜索树二叉搜索树 BSTBST 的基本操作计算合法的 BST 1. 二叉搜索树 BST 二叉搜索树(Binar...

  • Leetcode 501. 二叉搜索树中的众数

    题目描述 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。 假定 BST...

  • 二叉搜索树

    二叉搜索树 图解二叉树搜索算法图解:二叉搜索树算法二叉查找树(Binary Search Tree),(又:二叉搜...

  • 23-红黑树

    1.二叉搜索树(BST)继承二叉树(BinaryTree) 2.平衡二叉搜索树(BBST)继承二叉搜索树(BST)...

  • 二叉搜索树(Binary Search Tree)

    1. 定义 二叉搜索树(BST)又叫二叉查找树,二叉排序树。二叉搜索树就是一棵二叉树,但是它又具有搜索树的特征: ...

网友评论

      本文标题:Leetcode501:二叉搜索树的众数

      本文链接:https://www.haomeiwen.com/subject/hvytuktx.html