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