回文串
来源:互联网 发布:微信 for mac 2.2 dmg 编辑:程序博客网 时间:2024/06/06 20:12
题目描述
给定一个字符串,问是否能够通过添加一个字母将其变成“回文串”。 “回文串”是指正着和反着读都一样的字符串。如:”aa”,”bob”,”testset”是回文串,”alice”,”time”都不是回文串。
输入
一行一个有小写字母构成的字符串,字符串长度不超过10。
样例输入
coco
输出
如果输入字符串可以通过添加一个字符,则输出”YES”,否则输出”NO”。
样例输出
YES
代码:
#include<iostream>#include<cstring>using namespace std;int main(){ char a[10]; cin>>a; int count=0,flag=0;int s1,s2; for(int i=0,j=strlen(a)-1;i<strlen(a)/2 && j>strlen(a)/2;) { if(a[i]==a[j])//如果相等,相安无事 { i++,j--; continue; } else //如果不相等,有两种加法,一个是在前半段字符串加,一个是在后半段字符串加 {//所谓的加法就是可以忽略一个字符,继续比对后面的字符即可 if(flag==1) break; if(count!=1) { s1=i;//记录下来出事的位置 s2=j; count++; i++; continue; }else { i=s1;//说明在前半段字符串加不行,i和j回溯到出事的位置 j=s2; count = 0;//重置count j--; flag=1;//两种都尝试了 } } } if(flag==1) cout<<"No"<<endl; else cout<<"Yes"<<endl; return 0; }
阅读全文
0 0
- 回文数&&回文串
- 回文串
- 回文串
- 回文串
- 回文串
- 回文串
- 回文串
- 回文串
- 回文串
- 回文串
- 回文串
- 回文串
- **回文串
- 回文串
- 回文串
- 回文串
- 回文串
- 回文串
- 【Pig】Python3.6/Django1.9.13/Bootstrap/AmazeUI/Echarts后台Web开发阶段记录
- Oracle 冷备份步骤
- SDP协议
- SIFT特征提取分析
- 欢迎使用CSDN-markdown编辑器
- 回文串
- 1001:害死人不偿命的(3n+1)猜想
- Commands for System Administration
- 什么是蒙特卡罗仿真?
- 浅谈java中的锁级别
- PHP链接mysql
- Android初级开发(十)——百度定位—确定你的位置
- PHP constant()函数
- JAVA设计模式(二十一)----访问者模式