136. Single Number
-
描述:
有一个数组,数字都出现两次,只有一个数字出现一次,找出现一次的数字
- 思路:
现将数组去重求和乘以2,然后减去原先的数组之和,即为出现一次的数字 - 代码
class Solution:
def singleNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
return sum(set(nums))*2-sum(nums)
通过异或(XOR)的方式求解
- N^N=0
- N^0=N
class Solution:
def singleNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
ans=0
for num in nums:
ans^=num
return ans