123-->321 1、 拆分组合 2、判断是否越界 (newresult=result*10+10,如果越界的话,newsult-tail != result*10)
我想的是想把他们拆开,放入一个数组,然后再把数组拼起来,显然这个要花两倍的时间。
while(x!=0){
temp[i++]=x%10;
x=x/10;
}
for(int j=i-1;j>=0;j--){
result+=temp[j]*Math.pow(10,(i-1-j));
}
别人的方法:拆开的同时,进行组合
public int reverse(int x) {
int result=0;
while(x!=0){
int tail=x%10;
int newresult=result*10+tail;
if((newresult-tail)/10!=result) return 0;
result=newresult;
x=x/10;
}
return result;
}