La pregunta en sí no es difícil, pero hay un pit ( 反转的数可能会超过int的最大值
), entonces la respuesta debería devolver 0;
Por ejemplo, si se pasa 1534236469
, el número al final es 9, ans = ans * 10 + x % 10;
es fácil causar fuera de límites en progreso
class Solution {
public int reverse(int x) {
int ans = 0;
while (x != 0) {
//说明没有移除完
if ((ans * 10) / 10 != ans) {
// 处理过程中如果遇到越界则会返回0;
ans = 0;
break;
}
ans = ans * 10 + x % 10; // 得到反转的整数值
x = x / 10;//移除一位
}
return ans;
}
}