Pregunta Likou 7-Inversión de enteros

Inserte la descripción de la imagen aquí

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;

    }
}

Supongo que te gusta

Origin blog.csdn.net/qq_41813208/article/details/109301418
Recomendado
Clasificación