1、整数反转

2、解法
class Solution {
public int reverse(int x) {
// 能节省变量就节省变量
int sum = 0;
int d = 0;
while (x != 0) {
d = x % 10;
// 如果在添加的时候,溢出
// 除以10的话,Integer会少最后一位
if (sum > Integer.MAX_VALUE/10 || (sum == Integer.MAX_VALUE / 10 && d > 7)) {
return 0;
}
if (sum < Integer.MIN_VALUE/10 || (sum == Integer.MIN_VALUE / 10 && d < -8)) {
return 0;
}
sum = sum * 10 + d;
x = x / 10;
}
return sum;
}
}
时间复杂度O(log10^n), 空间复杂度为O(1), 和第9题一样。
156

被折叠的 条评论
为什么被折叠?



