Skip to content

Latest commit

 

History

History
35 lines (32 loc) · 995 Bytes

476_number_complement.md

File metadata and controls

35 lines (32 loc) · 995 Bytes

The complement of an integer is the integer you get when you flip all the 0's to 1's and all the 1's to 0's in its binary representation.

For example, The integer 5 is "101" in binary and its complement is "010" which is the integer 2. Given an integer num, return its complement.

Example 1:

Input: num = 5
Output: 2
Explanation: The binary representation of 5 is 101 (no leading zero bits), and its complement is 010. So you need 
to output 2.

Example 2:

Input: num = 1
Output: 0
Explanation: The binary representation of 1 is 1 (no leading zero bits), and its complement is 0. So you need 
to output 0.

Solution

class Solution:
    def findComplement(self, num: int) -> int:
        num = bin(num)[2:]
        comp = []
        for i in num:
            if i == '1':
                comp.append('0')
            else:
                comp.append('1')
        return int(''.join(comp), 2)