问题描述:给定一个32位带符号整数,将整数反转。例如321反转得到123;120反转得到21;-105反转得到-501.
思路:简单题,直接利用求余叠乘即可,不过需要关注是否溢出。
class Solution {
public int reverse(int x) {
int tx = 0; //目标值
while(x != 0){
if(tx >= Integer.MIN_VALUE/10 && tx <= Integer.MAX_VALUE/10) tx *= 10;//乘10后不溢出
else return 0;//溢出返回0
tx += (x%10);
x /= 10;
}
return tx;
}
}