##题目描述##
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
/**
* 7. Reverse Integer
*
* @author jiaohanhan
*
*/
public class Solution {
// 测试数据
public static void main(String[] args) {
Solution so = new Solution();
System.out.println(so.reverse(-2147483648));
System.out.println(so.reverse(123));
System.out.println(so.reverse(-123));
System.out.println(so.reverse(100));
System.out.println(so.reverse(1000000003));
}
public int reverse(int x) {
long temp = new Integer(0).longValue();
while (x != 0) {
temp = temp * 10 + x % 10;
x /= 10;
}
if (temp > Integer.MAX_VALUE || temp < Integer.MIN_VALUE) {
return 0;
} else
return new Long(temp).intValue();
}
public int reverse1(int x) {
int res = 0;
while (x != 0) {
int pop = x % 10;
x /= 10;
if (res > Integer.MAX_VALUE / 10 || (res == Integer.MAX_VALUE / 10 && pop > 7)) {
return 0;
}
if (res < Integer.MIN_VALUE / 10 || (res == Integer.MIN_VALUE / 10 && pop < -8)) {
return 0;
}
res = res * 10 + pop;
}
return res;
}
}
##結果##