1. 程式人生 > >leetcode#501. 二叉搜尋樹中的眾數

leetcode#501. 二叉搜尋樹中的眾數

class Solution {
public:
    int maxFreq = 0, currFreq = 0, precursor = INT_MIN;
    vector<int> findMode(TreeNode* root) 
    {

        vector<int> res;
        inorderTraversal(root, res);
        return res;
    }

    void inorderTraversal(TreeNode* root, vector<int>& res)
    {
        if
(root == NULL) return; inorderTraversal(root->left, res); if (precursor == root->val) currFreq++; else currFreq = 1; if (currFreq > maxFreq) { res.clear(); maxFreq = currFreq; res.push_back(root->val); } else
if (currFreq == maxFreq) { res.push_back(root->val); } precursor = root->val; inorderTraversal(root->right, res); } };