int i = 123134254;
int res = 0; // result
int set = 0; // digits we've seen
int rev = 0; // digits of `i` reversed
while (i > 0) {
rev = (rev * 10) + (i % 10);
i /= 10;
}
while (rev > 0) {
final int mod = rev % 10;
final int mask = 1 << mod;
if ((set & mask) == 0) {
res = (res * 10) + mod;
set |= mask;
}
rev /= 10;
}
System.out.println(res);