题目描述
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
输入描述:
输入一个int型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
输入
9876673
输出
37689
分析:从右到左依次提取不重复的数字,组成一个新的数字。把每位数字存放在数组中,每添加一位比较是否重复。
程序:
#include <iostream>
#include <vector>
using namespace std;
inline bool isdiff(int n,vector<int> temp){ //检测是否有重复数字;
if(temp.empty()) return true;
int i=0;
while(i<temp.size()){
if(temp[i]==(n)) break;
i++;
}
if(i==temp.size()) return true;
return false;
}
int main(){
int n;
while(cin>>n){
long long res=0;
vector<int> temp;
while(n!=0){
if(isdiff(n,temp)){
temp.push_back(n);
res=res*10+n;
}
n/=10;
}
cout<<res<<endl;
}
return 0;
}