class Solution {
public static int reverse(int x) {
int rev = 0;
while (x != 0) {
if (rev != 0 && Integer.MAX_VALUE / rev < 10 && Integer.MAX_VALUE / rev > -10) {
return 0;
}
rev = rev * 10 + x % 10;
x = x / 10;
}
return rev;
}
}
上面这个是26ms的范例
我的解答
class Solution {
public int reverse(int n) {
int res = 0;
while(n != 0){
int val = n % 10;
int tmp = res;
res = tmp * 10 + val;
n = n / 10;
if(res / 10 != tmp) return 0;
}
return res;
}
}
因为每转一次就要比较一次所以用时长了一点
算法的核心就是通过%来取余数实现颠倒