leetcode#501. 二叉搜尋樹中的眾數
阿新 • • 發佈:2018-12-24
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);
}
};