求最长回文子串
#include <iostream> #include <string> #include <iomanip> using namespace std; int main() { string a; getline(cin,a); int max = 0; int length = a.size(); for(int i = 0; i < length; i++) { for(int j = 0; i - j >= 0 && i + j < length; j++) { if(a[i-j] != a[i+j]) { break; } if(max < 2*j + 1) { max = 2*j + 1; } } for(int j = 0; i - j >= 0 && i+j+1 < length; j++) { if(a[i-j] != a[i+j+1]) { break; } if(max < 2*j + 2) { max = 2*j+2; } } } cout<<max<<endl; return 0; }