给定一个 32 位有符号整数,将整数中的数字进行反转。
示例 1:
输入: 123 输出: 321
示例 2:
输入: -123 输出: -321
示例 3:
输入: 120 输出: 21
注意:
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。
class Solution {
public int reverse(int x) {
String ss = "" + x;
boolean bo = false;
if (x == 0) {
return 0;
}
if (ss.toCharArray()[0] == '-') {
bo = true;
ss = ss.substring(1);
}
char[] chars = ss.toCharArray();
String s = "";
int num = 0;
for (int i = chars.length - 1; i >= 0; i--) {
s += chars[i];
}
while (s.toCharArray()[num] == '0') {
s = s.substring(0);
num++;
}
int ii = 0;
try {
ii = Integer.parseInt(s.trim());
} catch (Exception e) {
return 0;
}
if (bo) {
ii = 0 - ii;
}
return ii;
}
}