Skip to content

Commit 8e166a5

Browse files
committed
Runtime: 3 ms (Top 37.98%) | Memory: 5.9 MB (Top 76.79%)
1 parent 2a5f1b3 commit 8e166a5

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,35 @@
1+
// Runtime: 3 ms (Top 37.98%) | Memory: 5.9 MB (Top 76.79%)
2+
13
class Solution {
24
public:
35
int bitwiseComplement(int n) {
4-
6+
57
//-------Exceptional Case---------------
68
if(n == 0){
79
return 1;
810
}
9-
11+
1012
//-------Normal Case--------------------
1113
int testNumber = n;
1214
int rightShift = 0; // count of length on number in binary 5 == 101 => 3
13-
15+
1416
// counting
1517
while(testNumber != 0){
1618
testNumber = testNumber >> 1;
1719
rightShift++;
1820
}
19-
21+
2022
// generating mask
2123
int mask = 0;
2224
while(rightShift != 0){
2325
mask = mask << 1;
2426
mask = mask | 1;
25-
rightShift--;
27+
rightShift--;
2628
}
27-
29+
2830
// complementing
2931
int temp = ~n;
3032
int result = temp & mask;
3133
return result;
3234
}
33-
};
35+
};

0 commit comments

Comments
 (0)