提取不重复的整数
乍暖还寒时候,最难将息。
背景:Java 在线编程机试刷题。
题目描述:
输入一个int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
输入描述:
输入一个int型整数。
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
示例1:
输入:
9876673
输出:
37689
Java代码:
1 import java.util.Set;
2 import java.util.HashSet;
3 import java.util.Scanner;
4
5 public class Main{
6
7 public static void main(String [] args){
8 Scanner scan = new Scanner(System.in);
9 String inputStr = scan.nextLine();
10 int input = Integer.parseInt(inputStr);
11 System.out.print(getNoRepeat(input));
12 scan.close();
13 }
14
15 private static int getNoRepeat(int input){
16 String inputStr = String.valueOf(input);
17 int length = inputStr.length();
18 Set<Character> set = new HashSet<Character>();
19 StringBuilder sb = new StringBuilder();
20 // 从最后一个数开始遍历
21 for(int i = length - 1; i >= 0; i--){
22 Character tempChar = inputStr.charAt(i);
23 boolean addResult = set.add(tempChar);
24 // 使用Set 的唯一性 不含重复元素
25 if(addResult){
26 sb.append(tempChar);
27 }
28 }
29 int result = Integer.parseInt(sb.toString());
30 return result;
31 }
32
33 }
输出验证:
乍暖还寒时候
最难将息