a224. 明明愛明明 5/16/2025

解法一

🔹 數字母

為了讓一個字串經過排序後能形成回文
各字元的個數必須是偶數才能左右對稱
一個例外是中心的字元,他可以是奇數的

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;
}