题目描述
给定一个字符串,问是否能通过添加一个字母将其变为回文串。
IDEA
若果这个字符串能够通过添加一个字符变为回文,则其也可以通过删除一个字符变为回文,删除一个字符:
str.erase(i,1);
CODE
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int isPalindrome(string str){
for(int i=0;i<str.length();i++){
if(str[i]!=str[str.length()-1-i]){
return 0;
}
}
return 1;
}
int main(){
#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
#endif
string s;
while(cin>>s){
int i=0;
for(;i<s.length();i++){
string str=s;
str.erase(i,1);
//cout<<str<<endl;
if(isPalindrome(str)){
cout<<"YES"<<endl;
break;
}
}
if(i==s.length()){
cout<<"NO"<<endl;
}
}
return 0;
}