题解 | #华为no.9 提取不重复的整数#

提取不重复的整数

http://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1

重点:将输入来的一个整数转化成数组是关键。其中一种方法是

    public static int[] stringToIntArr(String str) {
        int[] intArr = new int[str.length()];
        char[] ch = str.toCharArray();
        for (int i = 0; i < str.length(); i++) {
            intArr[i] = (int) ch[i] - 48;
        }
    }

另一种方法在我自己的代码中

        //将输入的整数反转并且不重复
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        int[] nums = new int[s.length()];
        for (int i = 0; i < s.length(); i++) {
            nums[i] = Integer.parseInt(String.valueOf(s.charAt(i)));
        }
        HashSet<Integer> set = new HashSet<>();
        for (int i=nums.length-1;i>=0;i--) {
            if (!set.contains(nums[i])) {
                set.add(nums[i]);
                System.out.println(nums[i]);
            }
        }
    }
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务