从代码的健壮性考虑, 应该顾及到把数字翻转后发生溢出的情况,但是此题中并没有这种测试数据。
附上代码:
1 class Solution {
2 public:
3 int reverse(int x) {
4 int tmp = abs(x);
5 int ans = 0;
6 while (tmp) {
7 if (ans > ans * 10 + tmp % 10)
8 return 0; // overflow check
9 ans = ans * 10 + tmp % 10;
10 tmp /= 10;
11 }
12 if (x < 0) ans *= -1;
13 return ans;
14 }
15 };