#include <map>
#include <queue>
using namespace std;
struct node
{
char c;
int num;
friend bool operator <(const node &a,const node &b)
{
return a.num < b.num;
}
node(char cc='b',int numnum=0):c(cc),num(numnum){}
};
class Solution
{
public:
string frequencySort(string s)
{
map<char,int> mymap;
string result;
priority_queue<node> myq;
for(int i=0; i<s.size(); i++)
{
mymap[s[i]]++;
}
for(map<char,int>::iterator iter=mymap.begin();iter!=mymap.end();iter++)
{
myq.push(node(iter->first,iter->second));
}
while(!myq.empty())
{
node a = myq.top();
myq.pop();
for(int i=1;i<=a.num;i++)
{
result.push_back(a.c);
}
}
return result;
}
};
leetcode 根据字符出现频率排序
最新推荐文章于 2022-08-18 09:33:48 发布