【题目】一个字符串,求符合回文的子串,并按字典序输出
INPUT:
ababc
OUTPUT:
a
aba
b
bab
c
#include <iostream>
#include <set>
#include <cstring>
#include <algorithm>
#include <vector>
using namespace std;
bool find(string s){
int n=s.size()-1;
int m=s.size()/2+1;
for(int i=0;i<m;i++){
if(s[i]!=s[n-i]){
return false;
}
}
return true;
}
int main(){
string s;
set<string> st;//set去重
cin>>s;
for(int i=0;s[i];i++){
string tmp;
for(int j=i;s[j];j++){
tmp+=s[j];
if(find(tmp)){
st.insert(tmp);
}
}
}
set<string> ::iterator it;
for(it=st.begin();it!=st.end();it++){
cout<<*it<<endl;
}
return 0;
}