题目描述
给定一个字符串(数字或大小写字母), 找出最长的对称的子串(如有多个,输出任意一个)。
例如:
输入:“abbaad”
输出:“abba”
输入描述:
字符串
输出描述:
字符串
示例1
输入
复制
a1223a
输出
复制
22
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
string str,tmp,max,rev;
while(cin >> str){
max=str[0];
for(int i=0;i<str.length();i++){
for(int j=str.length();j>i;j--){
if(str[i]==str[j]){
rev=str.substr(i,j+1-i);
tmp= rev;
reverse(rev.begin(),rev.end());
if(tmp == rev)
if(tmp.length()>max.length()){
max=tmp;
break;
}
}
}
}
cout << max;
}
return 0;
}