class Solution(object):
def findComplement(self, num):
"""
:type num: int
:rtype: int
"""
flag = 0
for i in range(31,-1,-1):
if (num & (1 << i)) or flag:
flag |= 1 << i
return (flag)^num
class Solution2(object):
def findComplement(self, num):
i = 1
while i <= num:
i <<= 1
return (i - 1) ^ num