颠倒整数

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

示例 1:

输入: 123
输出: 321

示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21
注意:

假设我们的环境只能存储 32 位有符号整数,根据这个假设,如果反转后的整数溢出,则返回 0。

思路1

先求出整数的位数,之后按个十百...的顺序放到数组的第一二...位,求出的总和就是反转后的整数,判断反转后的数溢出,用该数减去上次的和,得出的数如果不等于之前相加的数,说明溢出

实现代码

class Solution {
    public int reverse(int x) {
       
        int j=0;
        int temp=x;
         while(temp!=0)//判断该数有几位
        {
     
            temp/=10;
            j++;
        }
        int []a=new int[j];//将该数放到数组,个位放到数组第一位,以此类推
        int sum=0;
        int i=0;
        while(i<j){
            a[i]=x%10;
            int t=sum;
            sum+=a[i]*Math.pow(10,j-1-i);//求出反转后的数
            if(sum-t!=a[i]*Math.pow(10,j-1-i)){//现在的总和减去上次的总和,得不到该数,说明溢出
                return 0;
            }
            temp=sum; //保留上次的和
            i++;
            x=x/10;
           
        }
        
        return sum;
    }
}
class Solution {
    public int reverse(int x) {
        long sum=0;
        while(x!=0){
            sum=sum*10+x%10;
            x=x/10;
            if(sum>Integer.MAX_VALUE || sum < Integer.MIN_VALUE){
                return 0;
            }
        }
return (int) sum;
}

public int reverse(int x)
{
    int result = 0;

    while (x != 0)
    {
        int tail = x % 10;
        int newResult = result * 10 + tail;
        if ((newResult - tail) / 10 != result)
        { return 0; }
        result = newResult;
        x = x / 10;
    }

    return result;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1:输入: 123输出: 321 示例 2:输入: ...
    Eddiehe212阅读 163评论 0 0
  • 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入: 123输出: 321示例 2: 输入:...
    1f872d1e3817阅读 206评论 0 0
  • 题目: 给定一个范围为 32 位 int 的整数,将其颠倒。例 1:输入: 123输出: 321例 2:输入: ...
    AceCream佳阅读 276评论 0 0
  • 问题 给定一个范围为 32 位 int 的整数,将其颠倒。例 1:输入: 123 输出: 321例 2:输入: ...
    Stroman阅读 1,139评论 0 1
  • 本次读书会在有限的时间内,群友分享了自己的读书心得并交换了自己的书。我尽量记录下来 群友KEYWEST:《古文观止...
    keywest阅读 615评论 1 2

友情链接更多精彩内容