class Solution {
public:
string frequencySort(string s) {
unordered_map<char,int> m;
for(char c:s) //map存字母
++m[c];
using pr=pair<char,int>;
auto cmp=[](const pr &a,const pr& b){return a.second<b.second;}; //按照降序排列
priority_queue<pr,vector<pr>,decltype(cmp)> pq(cmp);
for(auto elem:m) 存入priority_queue
pq.push(elem);
string res;
while(!pq.empty())
{
res += string(pq.top().second,pq.top().first);
pq.pop();
}
return res;
}
};
leetcode451 根据字符出现频率排序
最新推荐文章于 2020-11-10 16:06:36 发布