2021-05-03 LeetCode每日一题
链接:https://leetcode-cn.com/problems/reverse-integer/
正常情况下,此题使用int肯定会溢出的,所以需要在循环中提前判断一下是否超过[-2^31, 2^31 - 1]。
class Solution {
public int reverse(int x) {
int res = 0;
while (x != 0) {
int temp = x % 10;
x = x / 10;
if ((res > 0) && (res > (Integer.MAX_VALUE - 1 - temp) / 10)) {
return 0;
}
if ((res < 0) && (res < (Integer.MIN_VALUE - temp) / 10)) {
return 0;
}
res = res * 10 + temp;
}
return res;
}
}
image-20210503193628814.png
网友评论