利用mod求最后一位,不断更新x, 直到x==0跳出循环。ret 先用double型保存以免溢出,这题要求溢出return 0. 还可以在ret每次更新前查看它的绝对值是不是比max/10大, 这样只需要一个int 型ret.
public int reverse(int x) {
double ret = 0;
while( x!= 0 ) {
ret = ret * 10 + x % 10;
x = x / 10;
}
if(ret > Integer.MAX_VALUE || ret < Integer.MIN_VALUE) return 0;
else return (int) ret;
}