Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123
Output: 321
Example 2:
Input: -123
Output: -321
Example 3:
Input: 120
Output: 21
public int reverse(int x) {
boolean isPositive = x >= 0;
long newX = 0;
if (x == 0) {
return 0;
}
x = Math.abs(x);
while (x > 0) {
newX = newX * 10 + x % 10;
x = x / 10;
int maxX = (int) (Math.pow(2,31)- 1);
if (newX > maxX) {
return 0;
}
}
if (!isPositive) {
return (int) (0 - newX);
}
return (int) newX;
}