题目:
算法思想:一个数x与1异或就是它的补数,0^1=1 1^1=0,我们要找到给定的num它的位数,然后用1填满位数。
代码:
int findComplement(int num) {
int tmp = num;
int a = 0;
while(tmp > 0)
{
tmp = tmp >> 1;
a = (a << 1) + 1;
}
num = num ^ a;
return num;
}