题解 | #提取不重复的整数#
提取不重复的整数
http://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1
题目:提取不重复的整数,且反序输出,即输入 9876657 ,输出75689
1 首先考入如何去重,即每次输入下一个数字时,要遍历已有的所有数字,是否包含重复值,没有则添加进来, 因此可以考虑,直接用字符串来处理,contains()方法
2 其次,通过转化成字符数组,遍历一个个取值比较,没有重复的值则添加到新串中
//输入时看做字符串 Scanner sc = new Scanner(System.in); String s = sc.nextLine(); //定义一个空串 用来接收新组成的串 String str = ""; //转化成字符数组,一个个取值遍历 char[] ch = s.toCharArray(); //因为是反序输出,所以逆序遍历 for(int i=ch.length-1;i>=0;i--){ //判断串里是否包含这个字符,ch[i]+""转化成字符串,不包含则添加 if(!str.contains(ch[i]+"")){ str+=ch[i]; } } //将新串转化成整型打印 System.out.println(Integer.valueOf(str));