Reverse digits of an integer.
Example1: x = 123, return 321
Example2:
反转整形数字,使用取余取整循环即可,但是实际要考察的应该是对可能输入的考虑是否全面:
1)是否为零
2)如果是1200,翻转后是0021还是21
3)如果是2*********7(INT_MAX),翻转后是7*********2是越界的,不能保存,应该如何处理。
下面给出能AC的代码,能通过Leetcode的1000个的测试实例,可能是实例中没有给出这样的测试实例,因此结果是未定义的。
class Solution {
public:
int reverse(int x) {
int num = 0;
int i = 0;
while(x!=0)
{
i = x%10;
x = x/10;
num = num*10+i;
}
if(num>INT_MAX)
return -1;
return num;
}
};