Java写题解的第1天:提取不重复的整数
由“不重复”联想到需要使用set,由按顺序输出联想到使用LinkedHashSet;(如果需要排序再输出,那么就需要考虑TreeSet)
既然题目要求输入int整数,那么从后往前遍历这个整数的所有位数,就可以考虑先获取除以10的余数,再将其个位数截掉(n /= 10)
如果不考虑输入的是整数,比如字符串,那么就可以直接从后往前遍历
import java.io.*;
import java.util.LinkedHashSet;
import java.util.Iterator;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
br.close();
LinkedHashSet<Integer> set = new LinkedHashSet<>();
while(n > 0) {
set.add(n % 10);
n /= 10;
}
Iterator iterator = set.iterator();
while (iterator.hasNext()) {
System.out.print(iterator.next());
}
}
}
京公网安备 11010502036488号