7. Reverse Integer
Given a signed 32-bit integer x
, return x
with its digits reversed. If reversing x
causes the value to go outside the signed 32-bit integer range [-231, 2^31-1]
, then return 0.
Assume the environment does not allow you to store 64-bit integers (signed or unsigned).
Example 1:
Input: x = 123 Output: 321
Example 2:
Input: x = -123 Output: -321
Example 3:
Input: x = 120 Output: 21
Example 4:
Input: x = 0 Output: 0
Constraints:
-231 <= x <= 231-1
遍历取尾数
/**
*37492/1 37492%10=2
*37492/10 3749%10=9
*37492/100 374%10=4
*37492/1000 37%10=7
*37492/10000 3%10=3
*/
class Solution {
public int reverse(int x) {
int r = 0;
while (x != 0) {
if (r < Integer.MIN_VALUE / 10 || r > Integer.MAX_VALUE / 10) {
return 0;
}
int n = x % 10;
x /= 10;
r = r * 10 + n;
}
return r;
}
}