蒜头君有一个字符串。他想知道这个字符串是否可以在 恰好更改一个字符 的情况,变成一个回文串?
第一行为一个正整数 t(1≤t≤100),表示测试点的询问个数。
往下 t 行都有一个长度不大于 10000 的字符串,字符串内只包含小写英文字母。
对于每个询问,输出一行,如果可以,则输出YES,否则输出NO。
3 abccaa abbcca abcda
YES NO YES
//缩进不是很好,为了不分成多行
#include <bits/stdc++.h>
using namespace std;
string s1;
int len, len1, sum = 0;
string s;
void hui(string s)
{
len=s.length();
len1=0;
for(int i=len-1; i>=0;i--)
{
s1[len1]=s[i];
len1++;
}
}
int main()
{
int t;
cin>>t;
for(int i=1; i<=t;i++)
{
cin>> s; hui(s);
for(int i = 0; i <= len - 1; i++)
{
if(s[i]!= s1[i]) sum++;
}
if(sum==2) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
sum=0;
}
return 0;
}