题目描述:输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
输入描述:输入一个int型整数
输出描述:按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
输入例子:
9876673
输出例子:
37689
import java.util.*;
public calss Main{
public static void main(String []args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String str=sc.nextLine();
char []chars=str.toCharArray();
Set<Character> set=new LinkedHashSet<Character>();//为什么要用LinkedHashSet见下面解释
for(int i=chars.length-1;i>=0;i--){
set.add(chars[i]);
}
Iterator<Character> it=set.iterator();
while(it.hasNext()){
Character c=(Character)it.next();
System.out.print(c);
}
}
}
}
HashSet,LinkedHashSet和TreeSet:
HashSet:不能保证集合元素的顺序,即不能保证迭代输出的顺序与插入的顺序一致
LinkedHashSet:按照元素插入的顺序进行迭代,即迭代输出的顺序与插入的顺序保持一致
TreeSet:对象以升序存储,输出的结果也是升序排列
题目要求顺序不保持不变,所以要用LinkedHashSet