解法一
🔹 數字母
為了讓一個字串經過排序後能形成回文
各字元的個數必須是偶數才能左右對稱
一個例外是中心的字元,他可以是奇數的
e.g.
ABCDCBA: D 的個數是奇數
ABCBCBA: B 的個數是奇數
因此
當一個字串擁有 不超過一個 個數為奇數的字母 時
可以經過排序形成回文
✅ 完整代碼
評分結果(參考) : AC (2ms, 340KB)
#include <bits/stdc++.h>
using namespace std;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    
    string s;
    while(cin >> s){
        vector<int> letter(26, 0);
        for(char c : s){
            c = toupper(c);
            if(c>='A' && c<='Z') letter[c-'A']++;
        }
        int cnt = 0;
        for(int i : letter) cnt += (i&1);
        if(cnt <= 1) cout << "yes !\n";
        else cout << "no...\n";
    }
    return 0;
}