476. Number Complement
题目
解题思路
思路1:将数字转化为str字符串然后进行分析,取反,后返回int类型。
思路2:将101与111之类进行异或操作
我的代码
class Solution:
def findComplement(self, num: int) -> int:
NUM=list(bin(num)[2:])
print(NUM)
for i in range(len(NUM)):
if NUM[i] =='1':
NUM[i]='0'
else:
NUM[i] ='1'
print(''.join(NUM))
return int(''.join(NUM),2)
```
## 优秀代码
```python
class Solution:
def findComplement(self, num: int) -> int:
i = 1
while i <= num:
i = i << 1
return (i - 1) ^ num