注意的点:
python的位运算符,都是将数字看作二进制后进行操作,然后再转化为十进制的数返回。
解法一:直接集合运算
class Solution:
def singleNumber(self, nums: List[int]) -> int:
return sum(set(nums))*2 - sum(nums)
解法二:按位异或操作可以去掉出现两次的元素
class Solution:
def singleNumber(self, nums: List[int]) -> int:
res = 0
for i in nums:
res^=i
return res