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即可。
好久没做题了,这是脑子里的第一反应...

京公网安备 11010502036488号