回文串的长度

动态规划:用f[i][j]表示s[i~j]字符串是否是回文字符串。

int main()
{
    string str;
    cin>>str;
    int n=str.size();
    int max_len=0;
    int start=0;
    vector<vector<int>> f(n,vector<int>(n));
    for(int i=0;i<n;i++)
    {
         f[i][i]=true;
         for(int j=0;j<i;j++)
         {
               f[j][i]=(s[i]==s[j])&&((i==j+1)||f[j+1][i-1]);
               if(f[j][i]&&(i-j+1>max_len))
                {
                       max_len=i-j+1;
                       start=j;
                }
          }
          cout<<s.substr(start,max_len)<<endl;

    }
}                                                                                        
原文地址:https://www.cnblogs.com/beaglebone/p/5876847.html