题目:
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
思路:就是注意正负号,把数字和符号分开,然后颠倒数字,判断是否在int类型可表示数范围内,若不在返回0。主要temp类型是long才能判断是否在int表示范围内
代码:
class Solution {
public:
int reverse(int x) {
int y = abs(x);
int z = y == x?1:-1;
long temp = 0;
while(y != 0)
{
temp = temp * 10 + y % 10;
y /= 10;
}
if(z * temp > INT_MAX || z * temp < INT_MIN)
return 0;
return temp * z;
}
};