题解 | #最长回文子串#

最长回文子串

https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507

#include <stdio.h>
#include <string.h>
int isPalindrome(char str[], int begin, int end){
    int b = begin;
    int e = end;
    while (begin < end) {
        if (str[begin++] != str[end--]) {
            return 0;
        }
    }
    //printf("%d\n", e - b + 1);
    return e - b + 1;
}
int main() {
    char s[351];
    scanf("%s", s);
    int maxLen = 0;
    int strLen = strlen(s);
    //printf("%d\n", strLen);
    for(int i = 0; i < strLen - 1; i++){
        for (int j = i + 1; j < strLen; j++) {
            int len = isPalindrome(s, i, j);
            if (maxLen < len) {
                maxLen = len;
            }
        }
    }
    printf("%d", maxLen);
}

全部评论

相关推荐

冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
10-15 09:13
已编辑
天津大学 soc前端设计
点赞 评论 收藏
分享
11-28 17:48
中山大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务