Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
思路:
求余数,根据次数*10,就可以得到位置相反了,主要是Note里写的这个数是一个32位整数,所以当结果大于INT_MAX,或者小于INT_MIN就返回0.
class Solution {
public:
int reverse(int x) {
long long temp=0;
do{
temp*=10;
temp+=x%10;
x=x/10;
}
while(x!=0);
return (temp<INT_MIN||temp>INT_MAX)?0:temp;
}
};