import java.util.Scanner;

import java.util.HashSet;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        HashSet<Character> hset = new HashSet<>();
        StringBuilder strb = new StringBuilder();
        Scanner in = new Scanner(System.in);
        // 数组转字符串数组
        char[] inputNum = String.valueOf(in.nextInt()).toCharArray();
        // 倒叙循环
        for(int i = inputNum.length - 1 ; i >= 0; i--) {
            // 判断 set 中是否存在此值
            if(hset.contains(inputNum[i])){
                // 存在
                continue;
            } else {
                // 不存在
                hset.add(inputNum[i]);
                strb.append(inputNum[i]);
            }
        }
        System.out.println(Integer.valueOf(strb.toString()));
    }
}

这个思路其实很简单,就是将输入的字符串转为char数组,然后逐一倒着循环,用一个不重复的HashSet表来判断是否重复,不重复就放在StringBuilder中,最后转为Integer即可。

好久没做题了,这是脑子里的第一反应...