给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1
输出: 321
输入: 123
示例 2
输入: -123
输出: -321
示例 3
输入: 120
输出: 21
/*limits.h
#define INT_MAX 2147483647
#define INT_MIN (-INT_MAX - 1)
*/
int reverse(int x) {
long a = 0;//long类型:防止反转过程溢出
long t = x;
while (t)
{
a = 10 * a + (t % 10);
t /= 10;
}
if (a < INT_MIN || a >INT_MAX) //判定是否在int可表达的有效范围内
{
return 0;
}
return a;
}