题目描述
思路
先判断是正数还是负数,标记符号位;其次,循环,每次获取用x模10获取当前最后一位,再除以10;是很简单,一个注意点就是,判溢出,这里用的是long long int与int强转截断是否一致,就是耗内存耗时间。
代码
class Solution {
public:
int reverse(int x) {
if(x==0) return 0;
int sym=1;
long long int num=0;
if(x>0) sym=1;
else sym=-1;
x=abs(x);
while(x){
num=num*10+(x%10);
x=x/10;
}
num=num*sym;
if(num==(int)num) return num;
else return 0;
}
};