1、题目
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
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;
}
}