- 排列对称串
将对称的字符串按从小到大的顺序输出。字符串先以长度比较,若长度相同,再以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;
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191126151224810.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4OTAyNjc4,size_16,color_FFFFFF,t_70)