题解 | #最长回文子串#

最长回文子串

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

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

// 1. 得到回文字符串
// 2. 依次遍历每一个字符
//     2.1 以该字符为中心的最大回文子串 aba型
//     2.2 abba型
// 3. 输出大小

int main() {
    
    char input[360] = {0};
    gets(input);

    int len = strlen(input);
    int maxlen = 1;

    int left = 0;
    int right = 0;
    int cnt = 0;
    for(int i = 0; i < len; ++ i)
    {
        //aba型    
        cnt = 1;
        for(left = i - 1, right = i + 1; 
            left >= 0 && right < len; -- left, ++ right)
        {
            if(input[left] == input[right])
            {
                cnt += 2;
            }
            else
            {
                break;
            }
        }
        maxlen = maxlen > cnt ? maxlen : cnt;

        //abba
        cnt = 0;
        for(left = i, right = i + 1;
            left >= 0 && right < len; -- left, ++ right)
        {
               if(input[left] == input[right])
            {
                cnt += 2;
            }
            else
            {
                break;
            }
        }
        maxlen = maxlen > cnt ? maxlen : cnt;
    }

    printf("%d", maxlen);

    return 0;
}

全部评论

相关推荐

酷酷我灵儿帅:这去不去和线不线下面说实话没啥关系
点赞 评论 收藏
分享
zzzzhz:兄弟你先猛猛投简历至少三百家,能约到面试就去面。最近可以速成智能小车,智慧家居烂大街的项目,不需要自己写,只需要把里面的代码讲解看明白就行。把其中涉及到的八股文都拿出来单独背一下,我去年找工作就一个智能小车智慧家居找了10k差不多。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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