1

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

示例:

输入: 43261596
输出: 964176192
解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 ,
     返回 964176192,其二进制表示形式为 00111001011110000010100101000000 。
进阶:
如果多次调用这个函数,你将如何优化你的算法?
/**
 * @param {number} n - a positive integer
 * @return {number} - a positive integer
 */
var reverseBits = function(n) {
  let res = 0;
  for(let i = 0;i < 32;i++) {
    res = res<<1;
    res = res + (n&1);
    n = n>>1;
  }
  return res >>> 0;
};


耳东
766 声望51 粉丝

知乎专栏:[链接]


引用和评论

0 条评论