力扣-二叉树-501 二叉搜索树的众数

思路

二叉搜索树的特性就是中序遍历有序,所以思考时可以先按照有序数组思考

代码

class Solution {
public:
    vector result;
    TreeNode* pre = nullptr;
    int count = 1;
    int maxCount = 0;
    void travesl(TreeNode* node){
        if(node == nullptr) return;
        travesl(node->left);

        if(pre != nullptr){
            if(node->val == pre->val){
                count++;
            }else{
                count = 1;
            }
        }
        pre = node;
        if( count == maxCount) result.push_back(node->val);
        if( count > maxCount){
            maxCount = count;
            result.clear();
            result.push_back(node->val);
        }
        travesl(node->right);
    }
    vector findMode(TreeNode* root) {
        travesl(root);
        return result;
    }
};

你可能感兴趣的:(力扣,#,二叉树,leetcode,算法)