题解 | #最长回文子串#
最长回文子串
https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507
#include <stdio.h>
#include <string.h>
int main(){
char arr[1000];
fgets(arr, sizeof(arr), stdin);
arr[strlen(arr) - 1] = '\0';
int len = strlen(arr);
int ans = 1;
for(int i = 0; i < len; i++){
int l = i - 1, r = i + 1;
while(l >= 0 && r < len && arr[l] == arr[r]){
r++;
l--;
}
int len1 = r - l - 1;
ans = ans > len1 ? ans : len1;
l = i;
r = i + 1;
while(l >= 0 && r < len && arr[l] == arr[r]){
l--;
r++;
}
int len2 = r - l - 1;
ans = ans > len2 ? ans : len2;
}
printf("%d", ans);
return 0;
}
