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);
}
};
leetcode#501. 二叉搜索树中的众数
最新推荐文章于 2023-01-13 17:43:05 发布