方法1:数学
时间复杂度:$O(logN)$。logN是位数
空间复杂度:$O(1)$
解题思路
见解析。
https://leetcode.cn/problems/reverse-integer/solution/tu-jie-7-zheng-shu-fan-zhuan-by-wang_ni_ma/
Java 代码
class Solution {
public int reverse(int x) {
int rev = 0;
while (x != 0) {
int tail = x % 10;
if (rev > 214748364 || (rev == 214748364 && tail > 7)) {
return 0;
}
if (rev < -214748364 || (rev == -214748364 && tail == -9)) {
return 0;
}
rev = rev * 10 + tail;
x /= 10;
}
return rev;
}
}