- 思路
每次得到num二进制最低位,该位如果是0便得到1,如果是1得到0,将该数除2,重复上述步骤直到为0。 - 代码
class Solution {
public:
int findComplement(int num) {
int complement = 0;
int pow = 1;
while(num != 0) {
complement = complement + (1 - num % 2) * pow;
num /= 2;
pow *= 2;
}
return complement;
}
};