#include<iostream> #include<map> #include<string> #include<vector> using namespace std; int main(){ string input; while(cin>>input){//多组数据输入要有while来搞 int max=0; vector<char>output; map<char,int> count;//利用map for(int i =0;i<input.size();i++){ count[input[i]]++;//遇到相同的字母就自增1 } //因为map是按照key值自动排序的 while(count.size()>0){ for(auto iter=count.begin();iter!=count.end();iter++){ if(iter->second>max){ max=iter->second;//利用迭代器找到最大值 } } for(auto iter=count.begin();iter!=count.end();iter++){ if(iter->second==max){//如果找到第一个最大的 output.push_back(iter->first);//压入output数组 count.erase(iter);//删除对应的节点 break;//跳出 } } max=0;//重置一下max } for(auto iter=output.begin();iter!=output.end();iter++){ cout<<*iter; } cout<<endl;} return 0; }