题解 | #提取不重复的整数#
提取不重复的整数
http://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
myAns();
}
/**
* 方式一:使用的时间比方式二要少一点点
*/
private static void myAns() {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
char[] ns = in.next().toCharArray();
List<Character> list = new ArrayList<>(ns.length);
int num = 0;
for(int i = ns.length-1; i >= 0; i--) {
if(!list.contains(ns[i])){
list.add(ns[i]);
num = num*10 + Integer.valueOf( ns[i]+"");
}
}
System.out.println(num);
}
}
/**
* 方式二
*/
private static void myAns2() {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int ns = in.nextInt();
List<Integer> list = new ArrayList<>();
int num = 0;
while(ns != 0) {
int a = ns % 10;
if(!list.contains(a)){
list.add(a);
num = num*10 + a;
}
ns = ns/10;
}
System.out.println(num);
}
}
}