diff --git a/easy/number_complement.py b/easy/number_complement.py new file mode 100644 index 0000000..e57f19e --- /dev/null +++ b/easy/number_complement.py @@ -0,0 +1,12 @@ +# https://leetcode.com/problems/number-complement +class Solution: + def findComplement(self, num: int) -> int: + def bit_length(num): + if num == 0: + return 1 + return len(bin(num)) - 2 + width = bit_length(num) + inverted = ~num + mask = (1 << width) - 1 + result = inverted & mask + return result