Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
思路:先判断正负,转换为正后依次取末位求结果
class Solution {
public:
int reverse(int x) {
bool isPositive = true;
if(x == 0)
{
return 0;
}
//注意x可能为INT_MIN和INT_MAX,INT_MIN转换后会越界
long long inputNum = (long long)x;
if(inputNum < 0)
{
isPositive = false;
inputNum = -inputNum;
}
long long result = 0;
while(inputNum != 0)
{
result = result*10 + inputNum%10;
inputNum /= 10;
}
if(isPositive == false)
{
result = -result;
}
return (result < INT_MIN || result > INT_MAX)?0:result;
}
};