1009. Complement of Base 10 Integer
题目简介
/**
* @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)