1 #include<iostream> 2 #include<string> 3 #include<algorithm> 4 #include<unordered_set> 5 6 using namespace std; 7 8 /*给出一个字符串,将重复的字符去除,仅保留第一次出现的字符,且保持去重后的字符在原字符串中的顺序不变。 9 10 输入数据是一个字符串(不包含空格) 11 12 输出去重后的字符串 13 14 输入:12ere2 15 16 输出:12er 17 */ 18 19 int main() 20 { 21 string instr,outstr; 22 unordered_set<char> sc; //用来去重字符串中重复字符 23 getline(cin,instr); 24 for(auto c:instr) 25 { 26 if(sc.find(c) == sc.end()) // 如果set中没找到该字符 27 { 28 sc.insert(c); 29 outstr.append(1,c); 30 } 31 } 32 cout<< outstr <<endl; 33 return 0; 34 }