美文网首页
反转整数

反转整数

作者: 夜空中最亮的星_6c64 | 来源:发表于2018-10-09 10:35 被阅读0次

给定一个 32 位有符号整数,将整数中的数字进行反转。

示例 1:

输入:123输出:321

示例 2:

输入:-123输出:-321

示例 3:

输入:120输出:21

注意:

假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。

思路:

1.输入一个数,逆序将每个字符存入集合中。

1.1如果输入的负数,先求绝对值,再调用反转函数,返回时加负号即可。

1.2为了减少空间使用量,直接将各个字符存入集合。如果使用数组的话,需要先计算一次求出位数,再计算一次放入数组。

2.集合中的字符和10的n次方对应相乘求和,得出反转数。

2.1反转数大于 2^31 − 1,返回0。

代码:

    package    code_007_ReverseInteger;

    import    java.util.ArrayList;

    import    java.util.Scanner;

    public class Test {

        public    static    int    reverse(int    x) {

            int    rs=0;

            //输入正数

            if(x>0) {

                rs=getResult(x);

            return    rs;

    }

    else{

        //输入负数 先求绝对值

        x=Math.abs(x);

        rs=getResult(x);

        //返回负值

        return    -rs;

        }

    }

    public    static    int    getResult(int    x) {

    //该集合用来逆序存储整数

       ArrayList    chs=newArrayList();

        int    rs=0;

        while(x>0) {

            //对10取余,加入集合

            chs.add(x%10);

            //x递归

            x=x/10;

        }

    for(int    i= 0;i<chs.size();i++){

        //从最高位起 乘以10^(chs.size()-1-i)

        rs=(int) (rs+chs.get(i)*Math.pow(10,chs.size()-1-i));

           }

    if(rs>((int)Math.pow(2, 31)-1)) {

        //大于2^31-1,返回0

        rs=0;

        }

    return rs;

    }

    public    static    void    main(String[]args) {    

        Scanner    scanner=newScanner(System.in);

        int    x=scanner.nextInt();

        reverse(x);

        }

    }

相关文章

  • 反转整数

    给定一个 32 位有符号整数,将整数中的数字进行反转。 class Solution(object):def re...

  • 反转整数

    题目描述 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入: 123输出: 321 示例 ...

  • 整数反转

  • 反转整数

    给定一个32位有符号整数,将整数中的数字进行反转(假设我们的环境只能存储32位有符号整数,其数值范围是[−2(31...

  • 反转整数

    反转整数 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例1: 输入:123输出:321 示例 2: ...

  • 反转整数

    题目描述 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 输入: 123输出: 321输入: -12...

  • 反转整数

    给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入:123输出:321 示例 2: 输入:-...

  • 整数反转

    版权声明:本文为博主原创文章,转载请注明出处。个人博客地址:https://yangyuanlin.club欢迎来...

  • 反转整数

    给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入: 123输出: 321示例 2: 输入:...

  • 整数反转

    题目要求 给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转。比如:输入:1234输出:4321或...

网友评论

      本文标题:反转整数

      本文链接:https://www.haomeiwen.com/subject/ogkeaftx.html