整数反转
首先,定义一个变量用来保存得到的整数a
然后,由于不知道需要循环多少次,所以选择使用while循环
再定义一个变量b,用来保存整数x的最后一位数字
中间进行2次判断
防止出现超过储存不了的数字
如果出现,按照题目的要求直接return 0 即可
然后a=a*10+b
每次循环的最后,令x=x/10
由于都是int类型的数在运算,所以不会出现小数
当-10<x<10后,x/10=0,直接退出循环
最后返回那个用来保存的整数即可
下面附上代码
class Solution {
public:
int reverse(int x)
{
int a = 0;
while (x != 0)
{
int b = x % 10;
if (a>INT_MAX / 10 || (a == INT_MAX / 10 && b>7))
{
return 0;
}
if (a<INT_MIN / 10 || (a == INT_MIN / 10 && b<-8))
{
return 0;
}
a = a * 10 + b;
x = x / 10;
}
return a;
}
};