题解 | #最长回文子串#
最长回文子串
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; }