11.2 Reverse Integer (Easy)
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
The tricky part is we need to check if the result is > Integer.MAX_VALUE.
To achieve this, we need to use long for variable rev.
public class Solution {
public int reverse(int x) {
long k=x;
long rev = 0; //Use long, so we can check if the result is greater than Integer.MAX_VALUE,
boolean isNegtive = false;//flag for negative
if(k < 0){ //check for negative
k = 0 - k;
isNegtive = true;
}
System.out.println("k=="+k);
while (k != 0) {
rev = rev * 10 + k % 10;
k = k / 10;
}
if(rev > Integer.MAX_VALUE) return 0; //check if result is > Integer.MAX_VALUE
if (isNegtive)return 0-(int)rev;
return (int)rev;
}
}