描述:
给定32位整数,反转,如321转成123。
解决:
关键是溢出检测:
int reverse(int x) {
int ret = ;
int temp; while (x) {
temp = ret * + x % ;
if (temp / != ret)
return ;
ret = temp;
x /= ;
}
return ret;
}
看了下其他答案,还有一些思路:
先声明个long,看最后是否溢出,这样只有long是64位时可以,或者用int64_t。
还有先转字符串反转再转数字的。