Longest Palindromic Substring

http://www.felix021.com/blog/read.php?2040

class Solution {

public:

string longestPalindrome(string s) {

int n = s.size();

bool f[n][n];

fill_n(&f[0][0],n*n,false);

size_t maxLen=1,start=0; // maxLen=1 was 0

for(size_t 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<=2||f[j+1][i-1]);

if(f[j][i] && i-j+1 >maxLen){

maxLen = i-j+1;

start=j;

}

}

}

return s.substr(start,maxLen);

}

};

Last updated

Was this helpful?