LeetCode 190 — Reverse Bits

Cuarto problema de Bit Manipulation. Invertir los 32 bits de un entero.

Enunciado

Invierte los 32 bits de un unsigned int.


Solución — Bit shift

class Solution:
    def reverseBits(self, n):
        result = 0
        for _ in range(32):
            result = (result << 1) | (n & 1)
            n >>= 1
        return result

Análisis: O(32) = O(1).

Lógica

En cada iteración: shift result a la izquierda, añadir el bit más bajo de n, shift n a la derecha. 32 veces.


Conexiones

Estado

  • Leído
  • Implementado desde cero
  • Resuelto en LeetCode