关于字符串中的回文子串,如何输出

给定一个字符串,判断其中是否存在回文子串,并输出它(要求回文子串长度不小于3)
在做这题时就需要知道什么是回文子串,回文子串就是字符串—jkldfdio中的—dfd就是回文子串,回文子串中还有—jkkj也是回文子串,所以回文子串分为两种情况——奇与偶。
知道回文子串就可以开始思考这个题目了。分为两种情况,但相差不多,所以可以先从其中一种入手。
先从奇回文子串入手。
奇回文有一个最大的特点就是,中间有一个孤立的字符,所以就可以以这个“点”去破“面”,再者奇回文最小就是3个字符,所以不用判断长度是否小于3,也是稍微简单一点的。所以大概的轮廓就已经描绘出来了——找到第n个字符x,然后向两边n+1,n-1拓展,判断n+1与n-1对应字符是否相同,所以就需要用到数组。相同就继续向n+2,n-2拓展,继续判断…直到不相等时输出中间的字符就为奇回文子串。代码如下:
关于字符串中的回文子串,如何输出_第1张图片
而偶回文子串则是需要进行判断长度是否小于3,而且两比较的数的差值也从奇数变为偶数,其余大致与奇回文子串相同。代码如下:
关于字符串中的回文子串,如何输出_第2张图片
然后合并成为一个主函数:关于字符串中的回文子串,如何输出_第3张图片
结果:在这里插入图片描述
其中可能会存在一些小问题,bug之类的,欢迎大家指正,谢谢。

你可能感兴趣的:(关于字符串中的回文子串,如何输出)