题解 | #提取不重复的整数#
提取不重复的整数
https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1
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即可。
好久没做题了,这是脑子里的第一反应...

查看3道真题和解析