int reverse(int x)
{
long long val=0;
do
{
val=val*10+x%10;
x=x/10;
}while(x);
return (val>INT_MAX||val<INT_MIN)?0:val;
{
long long val=0;
do
{
val=val*10+x%10;
x=x/10;
}while(x);
return (val>INT_MAX||val<INT_MIN)?0:val;
}
此题主要在于如何处理数字顺序颠倒产生的overflow问题
通过将val设为long long类型,先将overflow忽略,最后再进行处理,巧妙避开了溢出错误