制造回文串这个题,其实只要统计出现此时为奇数的字符的个数就可以,出现次数为偶数的字符 可以直接放在出现次数为奇数的字符的两侧。如果统计结果中出现次数为奇数的字符个数为0, 则输出字符串的size,这种情况对应把所有字符拆分为单个字符的情况,否则输出统计结果。 #include <iostream> #include <vector> #include <string.h> using namespace std; int main(){ int i = 0; string s; while(cin >> s){ vector<int> count(256, 0); for(i = 0;i < s.size();i++){ count[s[i]]++; } int oddNum = 0; for(i = 0;i < count.size();i++){ if(count[i] % 2 == 1) oddNum++; } if(oddNum == 0) cout << s.size() << endl; else cout << oddNum << endl; } return 0; }
点赞 评论

相关推荐

牛客网
牛客企业服务