题解 | #提取不重复的整数#

提取不重复的整数

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);
        }
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
11-29 12:19
点赞 评论 收藏
分享
已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务