给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
1 2 3 4 5
| 输入: [2,2,1] 输出: 1
输入: [4,1,2,1,2] 输出: 4
|
官方最优解
1 2 3 4 5 6 7 8 9
| class Solution: def singleNumber(self, nums: List[int]) -> int: a = 0 for i in nums: a ^= i return a
|
位操作:a⊕0=a;a⊕a=0
最快用例
1 2 3 4 5 6
| class Solution: def singleNumber(self, nums: List[int]) -> int: res = 0 for n in nums: res ^= n return res
|