Steward
分享是一種喜悅、更是一種幸福
程式語言 - LeetCode - C - 5. Longest Palindromic Substring
參考資訊:
https://www.cnblogs.com/grandyang/p/4464476.html
題目:

解答:
void search(const char *s, int l, int r, int *start, int *cnt)
{
int len = strlen(s);
while ((l >= 0) && (r < len) && (s[l] == s[r])) {
l-= 1;
r+= 1;
}
if (*cnt < (r - l - 1)) {
*start = l + 1;
*cnt = r - l - 1;
}
}
char* longestPalindrome(char *s)
{
int i = 0;
int cnt = 0;
int start = 0;
int len = strlen(s);
if (len < 2) {
return s;
}
for (i = 0; i < len - 1; i++) {
search(s, i, i, &start, &cnt);
search(s, i, i + 1, &start, &cnt);
}
s[start + cnt] = 0;
return &s[start];
}