public class LeetCode7 {
public static void main(String[] args) {
/**
* LeetCode 第7题:给定一个 32 位有符号整数,将整数中的数字进行反转。
* 解题思路:提前变为long防止溢出,再转为字符串,反向输出,
*/
int x = -224845450;
System.out.println(reverse(x));
}
public static int reverse(int x) {
long z = x;
String str = String.valueOf(Math.abs(z));
StringBuilder conStr = new StringBuilder();
int len = str.length();
while( len > 0){
conStr.append(str.charAt(len - 1));
len--;
}
Long l = Long.parseLong(conStr.toString());
if(l > Integer.MAX_VALUE){
return 0;
}
if(x >= 0)
return l.intValue();
else{
return -l.intValue();
}
}
}