原題
給出2*n + 1 個的數(shù)字,除其中一個數(shù)字之外其他每個數(shù)字均出現(xiàn)兩次,找到這個數(shù)字。
樣例
給出** [1,2,2,1,3,4,3]**,返回 4
解題思路
- 位運算 - 利用異或運算的特殊性,相同的數(shù)異或后等于0:1 XOR 1 = 0
- 同時,異或運算有交換律:115 = 5 = 151
完整代碼
class Solution(object):
def singleNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
res = 0
for item in nums:
res ^= item
return res