思路:
1.把数字的二进制求出来,进行翻转(1变0,0变1)然后求出来当前二进制的十进制
class Solution {
public int findComplement(int num) {
int sum = 0;
int k = 0,t = 0;
while(num > 0){
k = num % 2;
sum = sum + (1-k)*(int)Math.pow(2,t++);
num = num/2;
}
return sum;
}
}
2,就是求出当前二进制位数的全1二进制,与其进行异或运算,就可以实现反转。
别人的思路