#include <iostream> using namespace std; #include<string> #include<map> int main() { string str; getline(cin,str); map<int,int>m; int key; for(int i = str.size()-1;i>=0;i--){ key = str[i] - '0'; if(m.count(key) == 0){ m[key] = key; cout << key; } } } // 64 位输出请用 printf("%lld")
题解的方法五花八门,这里直接利用map的key值不能重复的特性,使用map来记录是否重复,同时使用string从尾到头读来完成反向打印的操作。