class Solution {
public:
int reverse(int x) {
//将每一位保存进数组中,然后挨个乘以10的对应次方,求和加起来就行
//注意负数, -123%10 = -3,所以保存在数组中的数是【-3,-2,-1】
//-3*10^2 + -2 * 10^1 + -1 = -321,就得到了结果
vector<int> num;
int cnt = 0;//保存是几位数
while(x)
{
num.push_back(x%10);
x = x/10;
cnt++;
}
long long res = 0;
for(int i = 0;i<num.size();++i)
{
res = res + num[i] * pow(10,--cnt);
}
//判断有没有超过范围
if(res > (pow(2,31)-1) || res <-pow(2,31))
return 0;
return res;
}
};