LeetCode 451
Sort Characters By Frequency
class Solution {
public:
static bool cmp(pair<char, int>& p, pair<char, int>& q) {
return p.second>q.second;
}
string frequencySort(string s) {
if (s.length()==0||s.length()==1||s.length()==2) return s;
string str = "";
map<char, int> character;
for (int i = 0; i < s.length(); i++) {
character[s[i]]++;
}
vector<pair<char, int>> v(character.begin(), character.end());
sort(v.begin(), v.end(), cmp);
for (int i = 0; i < v.size(); i++) {
while(v[i].second--) {
str += v[i].first;
}
}
return str;
}
};