给定一个 32 位有符号整数,将整数中的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。
class Solution {
public int reverse(int x) {
int falg=1;
if(x<0){
x=x*-1;
falg=falg*-1;
}
String str=x+"";
char[] strs=str.toCharArray();
for(int i=0;i<strs.length;i++){
if(i>(strs.length-1)-i){
break;
}
int a=strs[i];
int b=strs[(strs.length-1)-i];
a=a^b;
b=a^b;
a=a^b;
strs[i]=(char)a;
strs[(strs.length-1)-i]=(char)b;
}
String s=String.valueOf(strs);
if(Long.parseLong(s)<=2147483647&&Long.parseLong(s)>=-2147483648L){
return Integer.parseInt(s)*falg;
}else{
return 0;
}
}
}