题目链接:https://leetcode.com/problems/single-number/
代码
class Solution:
def singleNumber(self, nums: List[int]) -> int:
for i in range(1,len(nums)):
nums[0]^=nums[i]
return nums[0]
思路详解
- 两个相同的数异或结果为0
- 0与任一数异或结果为该数
- 异或运算符合交换律
eg : 10 ^ 10 =0
0 ^ 100 = 100
这样,有两个值得异或结果为0,最后只剩下一个值