算法笔记(c++)--回文


#include<iostream>
#include<algorithm>
#include<vector>
using namespace std; int main()
{
std::string s;
char h[];
int max=,start,last;
int temp[],m=;
getline(cin,s);
//这里的temp保存了原字符值在原字符串的位置,可以借鉴下
for(int i=;i<s.length();i++)
if(isalpha(s[i]))
{
temp[m]=i;
h[m++]=tolower(s[i]);
}
for(int i=;i<m;i++)
{
//奇数
for(int j=;i-j>&&i+j<m;j++)
{
if(h[i-j]!=h[i+j])
break;
if(j*+>max)
{
max=j*+;
start=temp[i-j];
last=temp[i+j];
}
}
//偶数
for(int j=;i-j>&&i+j+<m;j++)
{
if(h[i-j]!=h[j+i+])
break;
if(max<j*+)
{
max=j*+;
start=temp[i-j];
last=temp[i+j+];
}
}
}
for(int i=start;i<=last;i++)
cout<<s[i];
cout<<max;
return ;
}

最新文章

  1. 【初学者指南】在ASP.NET MVC 5中创建GridView
  2. ado.net五大对象
  3. 【BZOJ-3238】差异 后缀数组 + 单调栈
  4. #include&lt;&gt;与#include&quot;&quot;
  5. crackme1.exe解密过程
  6. HDU 5833 Zhu and 772002
  7. VS2015升级Update2之后Cordova程序提示:此应用程序无法在此电脑上运行
  8. Hive笔记--配置以及遇到的问题
  9. MQTT学习笔记——Yeelink MQTT维修 采用mqtt.js和paho-mqtt
  10. my_query()的引号注意
  11. DFB系列 之 Bilp叠加
  12. STL中的二分查找———lower_bound,upper_bound,binary_search
  13. 深入理解Java中的迭代器
  14. 如何在MQ中实现支持任意延迟的消息?
  15. hibernate.dialect是干嘛用的?
  16. Alpha冲刺No.3
  17. XML——对XML文档的创建与增删改查
  18. ROC AUC
  19. VS2017设置背景主题
  20. Luogu P3700「CQOI2017」小Q的表格

热门文章

  1. first-child伪类选择器
  2. Set集合之TreeSet类
  3. 梯度下降法&amp;牛顿法
  4. codeforces 979 C. Kuro and Walking Route
  5. js如何获取键盘高度
  6. exynos4412—CMU裸板复习
  7. 20155215 2016-2017-2 《Java程序设计》第6周学习总结
  8. 20155236 2016-2017-2 《Java程序设计》第十周学习总结
  9. 20155336 2016-2017-2《Java程序设计》课程总结
  10. C# JSON和对象之间互相转换