给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123
输出: 321
示例 2:
输入: -123
输出: -321
示例 3:
输入: 120
输出: 21
最初的思路:
//1.要考虑负数符号不变的情况
//2.要考虑最后的数是0的情况,要舍0进位
//3.最好将数字转换为字符串能够更好地求解
int reverse(int x){//最简便的思路
int a;
int i;
long c=0;//C一定要定义为long型才不会越界
for(i=0;i<20;i++)
{
//处理反转的标准解答模板
a=x%10;
x=x/10;
c=a+c*10;
//判断是否会越界
if( c>0x7fffffff || c<(signed int)0x80000000)
{
return 0;
}
if(x==0)
break;
}
return c;
}