#最长回文子串

最长回文子串

https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507?tpId=37&&tqId=21308

#include <stdio.h>
int func (const char *a)
{
    int cnt = 0, des = 0;
    int len = 0;
    char *p = a + 1;

    while (*p != '\0') {//*(p+1)!='\0'
        if (*p == *(p+1)) { //even
            cnt = 0;
            des = p - a;
            for (int i = 0; i < des +1; i++) {
                if (*(p+1+i) != *(a+des-i)) {
                    break;
                }
                cnt += 2;
            }
            len = len > cnt ? len : cnt;
        }
        if (*(p-1) == *(p+1)) { //odd
            cnt = 1;
            des = p - a;
            for (int i = 0; i < des + 1; i++) {
                if (*(p+1+i) != *(a+des-1-i)) {
                    break;
                }
                cnt += 2;
            }
            len = len > cnt ? len : cnt;
        }
        p++;
    }
    return len;
}
int main()
{
    char arr[1024] = {0};

    while (EOF != scanf("%s", arr)) {
        printf("%d\n", func(arr));
    }

    return 0;
}
全部评论

相关推荐

哈基米南北绿豆114...:大三下民办二本通信工程转码,崩溃的是我,不要问我为什么行情这么差还转码,计算机只是日暮西山,通信工程是漫漫长夜😭查看图片
我的求职进度条
点赞 评论 收藏
分享
05-19 19:54
已编辑
杭州电子科技大学 Java
程序员小白条:《备考软考软件设计师》中级很简单的,不需要花很多时间,除非考软高,这简历找找杭州本地中小厂吧,也很难,项目这块还是最好有自己开发的思考,不要网上的亮点搬过来就行,看运气,本地有优势
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务