1 字符串重排
题目:
给你一个原始字符串,根据该字符串内每个字符出现的次数,按照ASCII码递增顺序重新调整输出。
提示:
1、原始字符串中只会出现字母和数字。
2、注意区分大小写。
示例1:
输入为:eeefgghhh; 输出为: efghegheh
示例2:
输入为:22233aaabcccdd; 输出为: 23abcd23acd2ac
#include<iostream>
#include<string>
#include<map>
using namespace std;
int main()
{
string str;
getline(cin, str);
int size = str.size();
map<char, int> m;
for (auto ch : str)
{
if (isalnum(ch))
{
m[ch]++;
}
}
auto it = m.begin();
while (size > 0)
{
while (it != m.end())
{
if (it->second > 0)
{
cout << it->first;
it->second--;
size--;
}
it++;
}
it = m.begin();
}
return 0;
}