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

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值