题目要求是回文串
2024-03-21 14:59:31
发布于:浙江
11阅读
0回复
0点赞
因为题目要求是回文串,而回文串除了最中间可能会有一个单独的,其余两边都必须是相同的,所以可以统计每个字符出现了多少次在进行计数即可。
#include <iostream>
#include <unordered_map>
using namespace std;
int main(){
char c;
unordered_map<char,int> m;
while ((c=getchar())!=EOF){
++m[c];//计算字符个数
}
int sm=0;
int t=0;
for (const auto &item : m){
int te=item.second;
if (te&1){
t=1;//如果有某个字符是奇数个,则要设置t = 1
}
te/=2;
sm+=te;
}
cout<<(sm<<1)+t<<endl;
return 0;
}
这里空空如也
有帮助,赞一个