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
思路:
- 输入处理:使用Scanner读取输入的正整数n。
- 字符串反转:将整数转换为字符串,并使用reverse方法反转字符串。
- 去重处理:遍历反转后的字符串,利用HashSet记录已经出现的字符,确保每个字符只保留第一次出现的位置。
- 结果构造:使用StringBuilder构造结果字符串,并输出结果。