題目:
給你一個(gè) 非空 整數(shù)數(shù)組 nums ,除了某個(gè)元素只出現(xiàn)一次以外驯绎,其余每個(gè)元素均出現(xiàn)兩次完慧。找出那個(gè)只出現(xiàn)了一次的元素。
你必須設(shè)計(jì)并實(shí)現(xiàn)線性時(shí)間復(fù)雜度的算法來解決此問題剩失,且該算法只使用常量額外空間屈尼。
參考代碼:
def singleNumber(self, nums: List[int]) -> int:
x = nums[0]
for num in nums[1:]:
x ^= num
return x
反思:
1、想不出來拴孤。
2脾歧、本題主要使用異或的特性:
(1)任何數(shù)與0異或,不變
(2)相同的兩個(gè)數(shù)異或位0