190. Reverse Bits

2021-08-22  本文已影响0人  jluemmmm

颠倒给定的32位无符号整数的二进制位。

思路: n > 0 的情况下,获取最右边的那位,进行移位,累加到结果数组中

.<< 左移运算符,num << 1,相当于 num 乘 2
.>> 右移运算符,num >> 1,相当于 num 除 2
.>>> 无符号右移,忽略符号位,空位都以 0 补齐

/**
 * @param {number} n - a positive integer
 * @return {number} - a positive integer
 */
var reverseBits = function(n) {
  let res = 0;
  let pow = 31;
  while (n > 0) {
    let right = n & 1;
    res = res + (right << pow);
    pow--;
    n = n >>> 1
  }
  // return res;
  return res >>> 0;
};
上一篇下一篇

猜你喜欢

热点阅读