3.15 排列对称串
生活随笔
收集整理的這篇文章主要介紹了
3.15 排列对称串
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
篩選出對(duì)稱(chēng)字符串,然后將其排序。
輸入樣例:
123321
123454321
123
321
sdfsdfd
121212
\\dd\\
輸出樣例
123321
\\dd\\
123454321
#include<fstream> #include<iostream> #include<string> #include<set> using namespace std;bool isSymmetry(string);//判斷字符串是否為對(duì)稱(chēng)struct strComp{//將字符串用set進(jìn)行排序bool operator()(const string &s1, const string &s2){if (s1.length() != s2.length())return s1.length() < s2.length();elsereturn s1 < s2;} };int main(){ifstream cin("data.txt");string str;set<string, strComp> strSet;while(cin >> str){if (isSymmetry(str))strSet.insert(str);}for(set<string, strComp>::iterator it = strSet.begin(); it != strSet.end(); ++it)cout << *it << endl; return 0; } bool isSymmetry(string str){int i = 0;int j = str.length() - 1;bool flag = true;while(i <= j){if (str[i++] != str[j--]){flag = false;break;}}return flag; }
總結(jié)
以上是生活随笔為你收集整理的3.15 排列对称串的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 3.14 01串排序
- 下一篇: 3.16 按绩点排名