感觉不如简单题里的最大回文子串

#include <stdio.h>
#include <string.h>

int lenren(char str[], int mid, int len) {


    int count1 = 1, count2 = 0;
    int left1 = mid - 1, right1 = mid + 1;
    while (left1 >= 0 && right1 < len) {
        if (str[left1] == str[right1]) {
            count1 += 2;
            left1--;
            right1++;
        } else
            break;
    }

    int left2 = mid, right2 = mid + 1;
    while (left2 >= 0 && right2 < len) {
        if (str[left2] == str[right2]) {
            count2 += 2;
            left2--;
            right2++;
        } else
            break;
    }

    return count1 > count2 ? count1 : count2;
}
int main() {
    char str[2500] = {0};
    while (~scanf("%s", str)) {
        int len = strlen(str);
        int max = 0, i = 0;
        int tem = 0;
        for (i = 0; i < len - 1; i++) {
            tem = lenren(str, i, len);
            max = max > tem ? max : tem;
        }
        printf("%d", max);
    }
}