博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最长回文子串问题
阅读量:7052 次
发布时间:2019-06-28

本文共 1195 字,大约阅读时间需要 3 分钟。

思路很简单,就是通过向两边扩展的方法,找出最大的,注意要分成奇数和偶数两种情况,都要计算才行。

1 //最长回文子串,就是利用了回文数的另一种思想,从中间想两边扩展的思想,很有意思 2 #include 
3 using namespace std; 4 5 int maxhuiwenzichuang(char * A,int n) 6 { 7 if(A==NULL||n<=0) 8 { 9 cout<<"wrong"<
=0&&i+j<=n-1) //j从0开始扩展,有一个不满足就退出循环caba17 {18 if(A[i-j]==A[i+j])19 j++;20 else //找到补登的也退出循环21 break;22 }23 j--; //注意j多加了,要减一才行24 int jishu=2*j+1; //奇数时个数25 if(jishu>maxnum)26 maxnum=jishu;27 j=0;28 while(i-j>=0&&i+j+1<=n-1) //偶数情况如abbac29 {30 if(A[i-j]==A[i+j+1])31 j++;32 else33 break;34 }35 j--;36 int oushu=2*j+2;37 if(oushu>maxnum)38 maxnum=oushu;39 }40 return maxnum;41 }42 43 int main()44 {45 int n=8;46 char A[]={
'a','b','b','a','c','a','b','b'};47 int max=maxhuiwenzichuang(A,8);48 if(max==-1)49 cout<<"wrong"<

 

完!

 

转载于:https://www.cnblogs.com/zmlctt/p/3842710.html

你可能感兴趣的文章
移动平台对 META 标签的定义
查看>>
vim
查看>>
C# WINFORM判断程序是否运行,且只能运行一个实例
查看>>
curl 命令详解
查看>>
启动改为本地Ip
查看>>
云服务器CentOS7.5安装MySQL5.7
查看>>
代理模式
查看>>
vue文档阅读笔记——计算属性和侦听器
查看>>
单元测试系列:Mock工具之Mockito实战
查看>>
二手GTX650
查看>>
Guava学习-缓存
查看>>
hexSHA1散列加密解密(不可逆)
查看>>
Pinterest架构:两年内月PV从零到百亿 - 非常值得参考【转】 - HorsonJin - 博客园...
查看>>
编译时、运行时、构建时(一)
查看>>
Java 基础:Queue
查看>>
CentOS环境下安装jdk和tomcat
查看>>
“密码保护共享”关不掉
查看>>
统计英文文章单词数相关内容
查看>>
第十六周项目3-逆序输出数组
查看>>
PowerDesigner15.1创建模型及生成带注释sql操作手册
查看>>