看官方答案有些复杂。
这里直接用long long
来装结果,返回时转成int
即可,这样做的好处就是方便判断溢出。
int reverse(int x) {
long long res=0;
while(x!=0){
int pop = x%10;
x/=10;
res=res*10+pop;
if(res>INT_MAX)return 0;
if(res<INT_MIN)return 0;
}
return (int)res;
}