物联网
您现在所在的位置:首页>企业动态>物联网

力扣题库5. 最长回文子串

编辑:学到牛牛IT培训    发布日期: 2023-09-18 08:39:47  

题目描述:给你一个字符串 s,找到 s 中最长的回文子串。


1694997771803.jpg


示例 1:

输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。

示例 2:

输入:s = "cbbd"输出:"bb


题解:

什么叫回文串?

如果一个字符串正着读和反着读是一样的,那它就是回文串。

这应该算是暴力法吧。

遍历数组,固定住左端,然后从最右端往前找与固定住的字符相同的,再判断是否是回文串,不是的话继续往前找,一直找到固定住的那个字符,如果是回文子串,记录下长度以及固定住的那个字符的下标,然后跳出循环,进行下一个字符的循环。


完整代码:

#include <stdio.h>

char * longestPalindrome(char * s)

{

int left = 0;

int right = strlen(s);

    int maxSize = 1;

    int t = 0;

    int start = 0;

    if(right <= 1 )

    return s;

    for(left = 0;s[left]!='';left++)//从最左边开始遍历

    {

        t = 0;//判断是否有最大值替换;

        if(right - left + 1 <= maxSize)

        {

            break;//如果数组剩余字符数量少于maxSize,直接跳出循环;

        }

        for(right = right-1;right>left;right--)//右边往前遍历数组;

        {

            if(s[left]==s[right])

            {

                for(int i = left,j = right;i <= j;i++,j--)

                {

                    if(i == j||(i==j-1&&s[i]==s[j]))

                    {

                        if(maxSize<(right-left+1))

                        {

                            maxSize = right - left + 1;

                            start = left;

                            t = 1;//maxSize修改值之后退出此外层循环;

                        }

                    }

                    if(s[i]!=s[j])//判断是否是回文串

                    {

                       break;

                    }

                }    

            }

            if(t==1)

            {

                break;

            }

        }

        right = strlen(s);

    }

    s[start + maxSize] = '';

    return s+start;

}


 


免费试学
课程好不好,不如实地听一听

封闭学习

2

1

联系我们

电话:028-61775817

邮箱:1572396657@qq.com

地址:成都市金牛区西城国际A座8楼

  • 物联网_物联网专题新闻_物联网IOT资讯-学到牛牛
    物联网_物联网专题新闻_物联网IOT资讯-学到牛牛

    扫一扫,免费咨询

  • 物联网_物联网专题新闻_物联网IOT资讯-学到牛牛
    物联网_物联网专题新闻_物联网IOT资讯-学到牛牛

    微信公众号

  • 物联网_物联网专题新闻_物联网IOT资讯-学到牛牛
物联网_物联网专题新闻_物联网IOT资讯-学到牛牛

学一流技术,找高薪工作

物联网_物联网专题新闻_物联网IOT资讯-学到牛牛

7-24小时服务热线:

028-61775817

版权声明 网站地图

蜀ICP备2021001672号

课程问题轻松问