Find Mode in Binary Search Tree LeetCode solution in C++

1
class Solution {
2
public:
3
void inorder(TreeNode *root, unordered_map<int, int> &mp) {
4
if (root == NULL) return;
5

6
inorder(root->left, mp);
7
mp[root->val]++;
8
inorder(root->right, mp);
9
}
10

11
vector<int> findMode(TreeNode *root) {
12
unordered_map<int, int> mp;
13
int maxf = INT_MIN;
14
vector<int> ans;
15

16
inorder(root, mp);
17

18
for (auto i = mp.begin(); i != mp.end(); i++) {
19
maxf = max(i->second, maxf);
20
}
21

22
for (auto i = mp.begin(); i != mp.end(); i++) {
23
if (i->second == maxf) ans.push_back(i->first);
24
}
25

26
return ans;
27
}
28
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0