Leetcode OJ: Reverse Integer
- 解题思路:简单的将int倒序,除10取余,余数进位并相加
- 代码
int reverse(int x)
{
if(x==0)
return 0;
else
{
int num,neg=0;
if(x<0)
{
num=(-1)*x;
neg=1;
}
else
num=x;
long int reverse=0;
while(num!=0)
{
reverse=reverse*10+num%10;
num/=10;
}
if(neg==1)
reverse*=-1;
if(reverse<INT_MIN||reverse>INT_MAX)
return 0;
else
return reverse;
}
}
需要注意的地方
- 防止溢出,long int reverse,并且最后判断reverse的大小是否超出INT_MIN~INT_MAX的范围
- 关键部分:
while(num!=0)
{
reverse=reverse*10+num%10;
num/=10;
}