Serie de cepillado aleatorio leetcode: inversión de enteros

Serie de cepillado aleatorio leetcode: inversión de enteros


1. Descripción del tema

leetcode 7. Inversión de enteros
Dado un entero x de 32 bits con signo, devuelve el resultado de invertir la parte numérica de x.

Devuelve 0 si el entero invertido excede el rango [−2^31, 2^31 − 1] de un entero de 32 bits con signo.

Supongamos que el entorno no permite almacenar números enteros de 64 bits (con o sin signo).

示例 1:
输入:x = 123
输出:321

示例 2:
输入:x = -123
输出:-321

示例 3:
输入:x = 120
输出:21

示例 4:
输入:x = 0
输出:0

pista:

-2^31 <= x <= 2^31 - 1

2. Análisis del tema

Ideas para resolver problemas:

La primera reacción al ver la pregunta es convertir el número en una cadena y luego voltear la cadena para obtener r, y confirmar el valor devuelto de acuerdo con el positivo o negativo del parámetro de entrada x. Si es >0, será Convierta directamente a número para obtener n, y si es <0, use parseInt para eliminar el invertido. El signo '-' al final de la cadena, luego tome el número negativo para obtener n.

let n = x > 0 ? Number(r) : parseInt(r) * -1

La condición estricta en el título "Si el entero invertido excede el rango de enteros con signo de 32 bits [−2^31, 2^31 − 1], devuelve 0":

if(n > 2147483647 || n < -2147483648) return 0
else return n

En un caso especial, el parámetro de entrada x se invierte. Cuando x es un solo dígito, es decir, cuando el valor absoluto de x |x| < 10, el valor devuelto sigue siendo x:

if (-10 < x && x < 10) return x

3. Código de resolución de problemas

El código se muestra a continuación:

/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {
    
    
    if (-10 < x && x < 10) return x
    // 转字符串
    let a = x.toString()
    let l = a.length
    let r = ''
    // 遍历反转得到r字符串
    for(let i = 0; i < l; i++){
    
    
        r += a[l - 1 - i]
    }
    let n = x > 0 ? Number(r) : parseInt(r) * -1
    if(n > 2147483647 || n < -2147483648) return 0
    else return n
};

Supongo que te gusta

Origin blog.csdn.net/weixin_42508580/article/details/123629356
Recomendado
Clasificación