第一篇题解
2025-07-11 21:55:28
发布于:江苏
17阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+5;
char ch[N];
int rt[30];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
int ans=0;
scanf("%d%s",&n,ch+1);
int minn = 0x3f3f3f3f;
for(int i = 0;i < 26;i++)
{
int l=1,r=n,ac=1;
ans = 0;
while(l<=r)
{
if(ch[l]==ch[r]) ++l,--r;
else if(ch[l]==i+'a') ++l,++ans;
else if(ch[r]==i+'a') --r,++ans;
else{
ac=0;
break;
}
}
if(ac)
minn=min(minn,ans);
}
if (minn==0x3f3f3f3f)
printf("-1\n");
else
printf("%d\n",minn);
}
return 0;
}
这里空空如也
有帮助,赞一个