79 / 205
LeetCode · EasyOson10 ball· ~15 daqiqa

Reverse Bits

Berilgan n 32-bitli belgisiz (unsigned) butun sonining bitlarini teskari tartibga keltirgan holda (reverse) hosil bo'lgan yangi sonni qaytaring.

n ning 32 ta biti aylantiriladi: eng past bit eng yuqori o'ringa tushadi. Natija ham 32-bitli belgisiz son sifatida (0 ≤ natija < 2³²) qaytariladi.

example.go
func solve(n int) int {
    // ...
}

Misollar

kod
Input: n = 43261596
Output: 964176192
Tushuntirish:
n'ning ikkilik ko'rinishi:  00000010100101000001111010011100
Teskari tartibi:             00111001011110000010100101000000
Teskari tartibdagi son:       964176192
kod
Input: n = 0
Output: 0
kod
Input: n = 4294967293
Output: 3221225471
kod
Input: n = 1
Output: 2147483648

Maslahatlar

  1. 32 bitni teskari qilish uchun har bir bitni birma-bir o'qib, natijaga qarama-qarshi tomondan joylashtirishni o'ylang.
  2. 32 marta tsikl yurgizing: har qadamda natijani chapga bir bitga suring va n ning eng past bitini natijaga qo'shing, so'ngra n ni o'ngga bir bitga suring — shunday qilib bitlar teskari tartibda yig'iladi.