#include<bits/stdc++.h> using namespace std; int a[128];//a数组存各个字符的数量 int b[128];//b数组 以字符数量由大到小 存取字符对应的ASCII码 int main(){ string s; cin>>s; int len=s.size(); for(int i=0;i<len;i++)a[s[i]]++; for(int i=0;i<128;i++)b[i]=i;//对b数组初始化为各个ASCII码 //冒泡排序 for(int i=0;i<127;i++){ for(int j=0;j<127-i;j++){ if(a[b[j]]<a[b[j+1]])swap(b[j],b[j+1]); //交换b数组中元素位置,使字符数量更大的字符的ASCII码靠前 } } for(int i=0;i<128;i++){ if(a[b[i]])printf("%c",b[i]);//按序输出 } return 0; }