题目描述:
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
Java实现:
import java.util.*;
/*
//方法1:使用集合去重
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String input = sc.next();
StringBuilder output = new StringBuilder();
HashSet<Character> set = new HashSet<>();
for (int i = input.length()-1; i >= 0; i--) {
if (!set.contains(input.charAt(i))) {
output.append(input.charAt(i));
set.add(input.charAt(i));
}
}
System.out.println(Integer.valueOf(output.toString()));
}
}
}
*/
//方法2:使用bit数组标记重复
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int flag[] = new int[10];
int input = sc.nextInt();
int output = 0;
while(input != 0) {
if (flag[input%10] == 0) {
output = output*10+ input%10;
flag[input%10] = 1;
}
input /= 10;
}
System.out.println(output);
}
}
}
知识点:
- 注意输入输出都是int型
- 熟悉标记数组这个思想