美文网首页
反转整数

反转整数

作者: twilight_mao | 来源:发表于2018-05-03 09:02 被阅读0次

题目描述

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

示例

输入: 123
输出: 321
输入: -123
输出: -321
输入: 120
输出: 21

注意

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

思路

1.如果不考虑溢出,即把每位取出来再乘;
2.负号可以在处理前先取绝对值,最后判断如果是负数则结果乘-1;
3.考虑溢出,则需要判断会在哪个阶段溢出;


分析.jpg

代码(不考虑溢出)

class Solution {
    public int reverse(int x) {
         int sum=0;
        int x1=Math.abs(x);
        while(x1!=0){
            sum = sum * 10 + x1 % 10;
            x1=x1/10;
        }
        if(x<0){
            sum=sum*(-1);
        }
        return sum;
        }
}

代码(考虑溢出)

class Solution {
    public int reverse(int x) {
         int sum=0;
        int x1=Math.abs(x);
        while(x1!=0){
            int a = sum;
            sum = a * 10 + x1 % 10;
            if (sum / 10 != a) {
                return 0;
            }
            x1=x1/10;
        }
        if(x<0){
            sum=sum*(-1);
        }
        return sum;
    }
}

相关文章

  • 反转整数

    给定一个 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/vkxkrftx.html