* 给出一个 32 位的有符号整数,将这个整数中每位上的数字进行反转.
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
public class Solution {
public static void main(String[] args) {
System.out.println(reverse(1534236469));
}
public static int reverse(int x) {
//判断是否大于0
if (x < 0) {
//小于0 要注意负号
//将int转换成字符串数组
char[] c = String.valueOf(x).toCharArray();
//定义StringBuilder准备拼接
StringBuilder sb = new StringBuilder().append(c[0]);
for (int i = c.length - 1; i >= 1; i--) {
sb.append(c[i]);
}
//捕获下NumberFormatException
try {
return Integer.valueOf(sb.toString());
} catch (NumberFormatException e) {
return 0;
}
} else if (x > 0) {
//将int转换成字符串数组
char[] c = String.valueOf(x).toCharArray();
StringBuilder sb = new StringBuilder();
for (int i = c.length - 1; i >= 0; i--) {
sb.append(c[i]);
}
//捕获下NumberFormatException
try {
return Integer.valueOf(sb.toString());
} catch (NumberFormatException e) {
return 0;
}
} else {
return x;
}
}
}