LEEDCode中有这样一道题:
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
给出的答案是
class Solution {
public int reverse(int x) {
int max = 0x7fffffff;
int min = 0x80000000;
long r = 0;
while(x != 0) {
r = r*10 + x%10;
x = x/10;
}
return r > max || r < min ? 0 : (int)r;
}
}
编程语言采用的java,逻辑中并没有判断x的正负,那么负数的取余是否跟正数的取余是一致的呢?
这里不再赘述,下面这篇博文写的不错