从最低位开始,并把它加到rev上,加的时候要把原来的rev乘10再加,这样就可以实现最后的最低位变到最高位。
但是要注意的是加后这个可能溢出,所以加之前要检查rev/10是否超过范围。
class Solution {
public int reverse(int x) {
int res=0;
while(x!=0){
int t=x%10;
x=x/10;
if(res>Integer.MAX_VALUE/10 || res==Integer.MAX_VALUE/10 && t>7){return 0;}
if(res<Integer.MIN_VALUE/10 || res==Integer.MIN_VALUE/10 && t<-8){return 0;}
res=res*10+t;
}
return res;
}
}