使用两个数据结构;
使用set去重;
使用queue实现数据从右向左;
即可 <输入的虽然是数字,但是我们可以以字符串的形式处理>
#include<iostream> #include<algorithm> #include<string> #include<set> #include<deque> #include<map> using namespace std; int main() { deque<char> q; set<char> s; string a; cin >> a; for (int i = a.length()-1; i >= 0; i--) { if (s.count(a.at(i)) < 1) { s.insert(a.at(i)); q.push_back(a.at(i)); } } while (!q.empty()) { cout << q.front(); q.pop_front(); } system("pause"); return 0; }