方法一,位运算(异或运算),空间复杂度O(1)
class Solution:
def singleNumber(self, nums):
return reduce(lambda x, y: x ^ y, nums)
方法二:统计数量,空间复杂度O(n)
import collections
class Solution:
def singleNumber(self, nums):
dic = collections.Counter(nums)
for num,cnt in dic.items():
if cnt == 1:
return num
return 0
异或运算,详细请看官方题解