P12592 重生有惊喜 题解
sun1112013 · · 题解
题目大意
这一题很简单,先看题目
题目的意思是说要求变换字母顺序,使得变换后的字符串成为回文串
做题思路
我们可以先用一个字符桶数组来保存原字符串的每一个字符出现的次数,然后判断每个字符出现的次数
AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
//ios::sync_with_stdio(false);
//cin.tie(0);
//cout.tie(0);
int T;
cin>>T;
while(T--){//T组数据
string a;
cin>>a;
int t[30]={0};
for(int i=0;i<a.size();i++){
t[a[i]-'a']++;//统计字母出现次数
}
int flag=0;
for(int i='a';i<='z';i++){
if(t[i-'a']%2){//累加和
flag++;
}
}
if(flag<=1) puts("Yes");//是回文串
else puts("No");
}
return 0;
}