题目要求,输入一个整型数,输出反转后的数。例如:-123,反转后为-321。应该考虑到输入int型的数反转后超过int最大值的情况。
public class ReverseInteger {
public static void main(String[] args) {
int x=-123;
ReverseInteger ri=new ReverseInteger();
int result=ri.reverse(x);
System.out.println(result);
}
public int reverse(int x) {
if(x==Integer.MIN_VALUE){ //若x是int型的最小值,直接返回0
return 0;
}
if(x>=-9 && x<=9){ //x只有一位,翻转后为本身,直接返回
return x;
}
int absx=Math.abs(x); //取绝对值,消除符号的影响
String str=String.valueOf(absx); //转换为字符串
int len=str.length();
char[] ints=str.toCharArray(); //转换为字符数组
char temp;
for(int i=0;i
Integer.MAX_VALUE){ //如果反转后的数大于int的最大值,返回0
return 0;
}
int re=Integer.valueOf(result);
if(x<0){ //考虑原来的符号
return -re;
}
return re;
}
}