#include <stdio.h>
char string[1001];
int main(){
scanf("%s", string);
int len = 0;
int i;
for (i = 0; string[i] != '\0'; i++)
len++;
int maxLen = 0;
int start;
int mid, left, right;
for (mid = 0; mid < len; mid++){
left = mid - 1;
right = mid + 1;
while (left >= 0 && right < len && string[left] == string[right]){
if (right - left + 1 > maxLen){
maxLen = right - left + 1;
start = left;
}
left--;
right++;
}
}
for (mid = 0; mid < len; mid++){
left = mid;
right = mid + 1;
while (left >= 0 && right < len && string[left] == string[right]){
if (right - left + 1 > maxLen){
maxLen = right - left + 1;
start = left;
}
left--;
right++;
}
}
if (maxLen == 0){
printf("%c\n", string[0]);
return 0;
}
int end = start + maxLen - 1;
for (i = start; i <= end; i++){
printf("%c", string[i]);
}
printf("\n");
return 0;
}
URAL 1297 Palindrome (回文+中心扩展)
最新推荐文章于 2019-09-03 23:57:34 发布