給定一個(gè)整數(shù)數(shù)組,除了某個(gè)元素外其余元素均出現(xiàn)兩次。請(qǐng)找出這個(gè)只出現(xiàn)一次的元素。
備注:
你的算法應(yīng)該是一個(gè)線性時(shí)間復(fù)雜度。 你可以不用額外空間來實(shí)現(xiàn)它嗎?
class Solution:
def singleNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
if len(nums) == 1:
return nums[0]
nums.sort()
if nums[0] != nums[1]:
return nums[0]
if nums[-2] != nums[-1]:
return nums[-1]
for i in range(len(nums)):
if nums[i-1] != nums[i] and nums[i] != nums[i+1]:
return nums[i]
?。?!異或!??!
def singleNumber(nums):
"""
:type nums: List[int]
:rtype: int
"""
a = 0
for i in nums:
a ^= i
return a