C++求最长子字符串
代码如下:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string a,b,c,d="";int n,j,k,max=0;//记录最长的子回文字符串
cin>>a;
n=a.length();
for(j=0;j<n;j++)
for(k=j;k<n;k++)
{
if(k-j>max)
if(a[j]==a[k])
{
c=b=a.substr(j,k-j+1);//从j开始,长度为后者的子字符串
reverse(c.begin(),c.end());
if(b==c){
max=k-j;d=b;
}
}
}
if(max)
cout<<max+1<<"\n"<<d;
else
cout<< "0"<<endl;
}