给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
解题思路
主要思路:
t = t*10 + x % 10;
x = x /10;
注意边界条件和反转之后越界问题
int reverse(int x){
signed int t = 0;
while (x / 10)
{
t = t * 10 + x % 10;
x = x / 10;
if((t > 214748364) || (t == 214748364 && x % 10 > 7) || (t < -214748364) || (t == -214748364 && x % 10 < -8))
return 0;
}
if((t > 214748364) || (t == 214748364 && x % 10 > 7) || (t < -214748364) || (t == -214748364 && x % 10 < -8))
return 0;
t = t * 10 + x % 10;
return t;
}