牛客網--字符集合

輸入一個字符串,求出該字符串包含的字符集合

 

輸入描述:

每組數據輸入一個字符串,字符串最大長度爲100,且只包含字母,不可能爲空串,區分大小寫。

 

輸出描述:

每組數據一行,按字符串原有的字符順序,輸出字符集合,即重複出現並靠後的字母不輸出。

 

輸入例子1:

abcqweracb

 

輸出例子1:

abcqwer

思路

因爲字符只有大小寫字母,所以可以用一個大小爲52的數組來記錄出現過的字符;

下標0-25記錄小寫字母,26-51記錄大寫字母

#include<bits/stdc++.h>
using namespace std;
// 判斷是否是小寫字母
bool islower(char ch){
    return 'a'<= ch&& ch<= 'z';
}
int main(){
    string str;
    while(cin>>str){
        // 記錄出現過的字母,0-25記錄小寫字母,26-51記錄大寫字母
        vector<bool> has(52, 0);
        string result= "";
        int len= str.length();
        char sub;
        for(int i= 0; i< len; ++i){
            // 大寫字母需要後移26個位置
            sub= islower(str[i])? 'a': 'A'- 26;
            if(!has[str[i]- sub]){
                result+= str[i];
                has[str[i]- sub]= 1;
            }
        }
        cout<<result<<endl;
    }
    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章