需要考虑的问题是一个int型数据在翻转后可能出现的越界问题。
而这个问题无法通过最开始对数据的约束来完成的。
比如说32bit的数据,最大值为2147483647,那么1463847412是可以翻转的数字,但是1253847412确实不可以反转的数字。
public class Solution {
public int reverse(int x) {
int max=2147483647;
int min=-2147483647;
int sum=0;
if(x<max&&x>min){
while(x!=0&&((sum<214748364)||(sum==214748364))&&((sum>-214748364)||(sum==-214748364))){
sum=sum*10+x%10;
x=x/10;
}
}
if(x!=0){
sum=0;
}
return sum;
}
}