两种方法,异曲同工

Way1 哈希表

#include <bits/stdc++.h>
using namespace std;

int countDif(string s) {
    int ans=0;
    int flag[128]={0};
    for(int i = 0; i < s.length(); i++) {
        int a = int(s[i]);
        if(flag[a] == 0) {
            flag[a] = 1;
            ans++;
        }
    }
    return ans;
}

int main() {
    string s;
    getline(cin, s);
    cout << countDif(s);
    return 0;
}

Way2 STL

#include <bits/stdc++.h>
using namespace std;

int countDif(string s) {
    set<char> st;
    for(int i = 0; i < s.length(); i++) {
        st.insert(s[i]);
    }
    return st.size();
}

int main() {
    string s;
    getline(cin, s);
    cout << countDif(s);
    return 0;
}