leetcode-daily/2201/220104.cpp

20 lines
564 B
C++

#include <iostream>
/**
* 1009. Complement of Base 10 Integer
* The complement of an integer is the integer you get when you flip all the 0's to 1's and all the 1's to 0's in its binary representation.
*
* For example, The integer 5 is "101" in binary and its complement is "010" which is the integer 2.
* Given an integer n, return its complement.
*/
class Solution {
public:
static int bitwiseComplement(int n) {
return n ? ((1 << ((31 ^ __builtin_clz(n)) + 1)) - 1) ^ n : 1;
}
};
int main() {
std::printf("%d\n", Solution::bitwiseComplement(0));
}