public int findComplement(int num)
{
int i = 0;
int j = 0;
while (i < num)
{
i += Math.pow(2, j);
j++;
}
return i - num;
}
public class Solution {
public int findComplement(int num) {
return ~num & ((Integer.highestOneBit(num) << 1) - 1);
}
}
class Solution {
public:
int findComplement(int num) {
unsigned mask = ~0;
while (num & mask) mask <<= 1;
return ~mask & ~num;
}
};
public class Solution {
public int findComplement(int num) {
int i=31;
while(i>=0&&(((1<<i)&num)==0))i--;
return ((1<<(i+1))-1)&~num;
}
}
public class Solution {
public int findComplement(int num) {
int res = 0;
int cnt = 0;
while (num != 0) {
int temp = ((num & 1) ^ 1) << cnt;
res |= temp;
num >>= 1;
cnt++;
}
return res;
}
}