美文网首页
190. Reverse Bits

190. Reverse Bits

作者: jluemmmm | 来源:发表于2021-08-22 10:53 被阅读0次

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

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

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

    • 时间复杂度O(1), 空间复杂度O(1)
    • Runtime: 80 ms, faster than 85.54%
    • Memory Usage: 40.3 MB, less than 87.95%
    /**
     * @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;
    };
    

    相关文章

      网友评论

          本文标题:190. Reverse Bits

          本文链接:https://www.haomeiwen.com/subject/uuoqiltx.html