- 排列对称串
将对称的字符串按从小到大的顺序输出。字符串先以长度比较,若长度相同,再以ASCII码值比较
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
bool compare(string s1, string s2) {
return(s1.length() != s2.length() ? s1.length() < s2.length(): s1 < s2);
}
int main() {
vector<string>str;
string s,t;
while (cin >> s) {
t = s;
if (t == "0")
break;
reverse(t.begin(), t.end());
if (s == t)
str.push_back(s);
}
sort(str.begin(), str.end(), compare);
cout << "按从小到大的顺序输出的对称串为:" << endl;
for (int i = 0; i < str.size(); i++) {
cout << str[i] << endl;
}
return 0;
}