1009. Complement of Base 10 Integer

Leetcode link

题目简介

/**
 * @param {number} n
 * @return {number}
 */

题目给我们一个数字 n

要求我们把 n 的二进制每一位翻转

返回翻转后的十进制数字

解题思路

首先我们需要取得 n 的二进制长度

接着我们需要生成一个长度相等的全 1 掩码

最后我们把前两个做异或操作即可

Javascript

/**
 * @param {number} n
 * @return {number}
 */
var bitwiseComplement = function(n) {
    return n ^ ((1 << n.toString(2).length) - 1)
};

复杂度分析

时间

O(1)

空间

O(1)

results matching ""

    No results matching ""