【题目】
Reverse digits of an integer.
整数翻转
【思路】
题意简单,但某些特殊情况需要注意
1、32位int的取值范围为-2147483648 ~ 2147483647,且abs(-2147483648) = -2147483648;
2、-10翻转后为-1;
3、-2147483648翻转后超过了整型的表数范围,应返回0;
【Java代码】
public class Solution_7_Integer_Reverse {
public int reverse(int x){
String result = "";
if(x == -2147483648)
return 0;
String original = String.valueOf(Math.abs(x));
for(int i = original.length()-1 ; i >= 0 ; i--)
result += original.charAt(i);
if((result.length() == 10) && result.compareTo("2147483647")>0)
return 0;
result = (x>0?"":"-") + result;
return Integer.valueOf(result);
}
}