华为OJ 初级:提取不重复的整数

来源:互联网 发布:php cli 获取服务器ip 编辑:程序博客网 时间:2024/05/16 04:55

描述

输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。

知识点数组运行时间限制10M内存限制128输入

输入一个int型整数

输出

按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

如果返的整数以0开头,去掉0;

如 intput:1010   output:1

样例输入9876673样例输出37689

import java.util.Scanner;public class RevNotRepeatNum {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String input = Integer.toString(scanner.nextInt());scanner.close();System.out.print(method(input));}private static int method(String input) {StringBuilder strBuilder = new StringBuilder(input);String str = strBuilder.reverse().toString();String output = str.substring(0, 1);for(int i = 1; i < str.length(); i++){if(!output.contains(str.substring(i, i+1))){output += str.charAt(i);}}return Integer.parseInt(output); //字符串转为int,会自动去掉字串开头的0}}

这道题目思路如下:

1、首先将输入的int数字转换成String后,反转

2、反转后,此时判断数字是否有重复,如果有重复,则去掉

3、最后判断去掉重复数字后,数字的开头是否是0,如果是则去掉

所以  1010,输出结果是 1,而不是 10,

          9876673 输出结果是  37689

1 0
原创粉丝点击