6. Complement of Base 10 Integer
Input: n = 5
Output: 2
Explanation: 5 is "101" in binary, with complement "010" in binary, which is 2 in base-10.Input: n = 7
Output: 0
Explanation: 7 is "111" in binary, with complement "000" in binary, which is 0 in base-10.Input: n = 10
Output: 5
Explanation: 10 is "1010" in binary, with complement "0101" in binary, which is 5 in base-10.// Some code
class Solution
{
public:
int bitwiseComplement(int n)
{
if(n == 0){
return 1;
}
int res = 0;
int idx = 0;
while (n > 0)
{
int x = n % 2; // find the digit
int flip = (x == 1) ? 0 : 1; // flipit
res += (flip << idx); //leftsift to position and all
idx++;
n = n / 2;
}
return res;
}
};Last updated