示例 1:
输入:5
输出:2
解释:5 的二进制表示为 "101",其二进制反码为 "010",也就是十进制中的 2 。
示例 2:
输入:7
输出:0
解释:7 的二进制表示为 "111",其二进制反码为 "000",也就是十进制中的 0 。
示例 3:
输入:10
输出:5
解释:10 的二进制表示为 "1010",其二进制反码为 "0101",也就是十进制中的 5 。
提示:
0 <= N < 10^9
class Solution {
public int bitwiseComplement(int N) {
int i;
for(i=0;;i++) {
if(Math.pow(2, i)-1<=N && Math.pow(2, i+1)-1>=N) {
return (int)(Math.pow(2, i+1)-1-N);
}
}
}
}
原文:https://www.cnblogs.com/lick468/p/10687643.html