两种方法,异曲同工
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;
}