> For the complete documentation index, see [llms.txt](https://nataliekung.gitbook.io/solutions/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nataliekung.gitbook.io/solutions/longest_palindromic_substring.md).

# 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);

}

};
