给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
示例 1:
输入:x = 123
输出:321
示例 2:
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
class Solution {
public int reverse(int x) {
long n = 0;
//每次循环:n记录n加上x最后一位,x取除最后一位的部分,这样迭代从后往前获取位数,填入n
while(x != 0){
n = n*10 + x%10;
x = x/10;
}
return (int)n==n? (int)n:0;
}
}
return (int)n==n? (int)n:0;是对数值溢出作判断,n首先是long类型,能存储超出int的值,如果转为int时发生数据丢失和n不相等那么就是溢出,就返回0.
本文来自凡蜕博客(https://blog.ysboke.cn), 转载请带上地址.。