import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        String s = Integer.toString(n);
        String reversed = new StringBuilder(s).reverse().toString();

        Set<Character> seen = new HashSet<>();
        StringBuilder result = new StringBuilder();
        for (char c : reversed.toCharArray()) {
            if (!seen.contains(c)) {
                result.append(c);
                seen.add(c);
            }
        }

        System.out.println(result.toString());
    }
}

https://www.nowcoder.com/discuss/727521113110073344

思路:

  1. 输入处理:使用Scanner读取输入的正整数n。
  2. 字符串反转:将整数转换为字符串,并使用reverse方法反转字符串。
  3. 去重处理:遍历反转后的字符串,利用HashSet记录已经出现的字符,确保每个字符只保留第一次出现的位置。
  4. 结果构造:使用StringBuilder构造结果字符串,并输出结果。