天天看点

题目7、整数反转(Leetcode题解-java实现)

1、题目

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

题目7、整数反转(Leetcode题解-java实现)

2、代码实现

class Solution {
   public int reverse(int x) {
       //这里之所以取long类型,是因为Leetcode有输入值1534236469,
       //转化后是9646324351,直接返回会超出int类型的取值范围,需要强制转换int类型
        long n = 0;
        while(x != 0) {
            //依次取个位数十位数...(通过对10求余得到),并逐步加到n上(通过*10进位)
            n = n*10 + x%10;
            x = x/10;
        }
        //强制转换int类型,
        //如果强制转换后,越界(亦是转换前后数值不相等),那么根据题意返回0即可(注意这个条件)
        return (int)n==n? (int)n:0;
    }
}
           

3、实现截图

题目7、整数反转(Leetcode题解-java实现)