添加等價於刪除
即判斷刪除一個字符後是否爲迴文串即可
題目:https://ac.nowcoder.com/acm/contest/330/I
#include<bits/stdc++.h>
#define ll long long
#define MOD 1e9+7
#define N 1000010
using namespace std;
char a[N],b[N];
int check(const string &s){
int n=s.length();
for(int i=0;i<n;i++)
if(s[i]!=s[n-i-1])
return i;
return -1;
}
int main(){
string s;
cin>>s;
int diff=check(s);
if(diff==-1)
cout<<"Yes";
else{
string temp=s;
string s1=s.erase(diff,1);//從diff位置開始刪除一個字符
string s2=temp.erase(temp.length()-1-diff,1);//s相對與diffd的位置
if(check(s1)==-1||check(s2)==-1)
cout<<"Yes";
else
cout<<"No";
}
return 0;
}