Leetcode解题(第136题)
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
示例1:
输入:[2,2,1]
输出:1
示例2:
输入:[4,1,2,1,2]
输出:4
解析:在题目写出了只有一个元素出现了一次,其余元素出现了两次。考虑到异或的原则(相同为0,不同为1,0和其他元素的异或为元素本身),而且 323 = 2,主要用到就是元素的异或。
代码(python3 版本)
class Solution:
def singleNumber(self, nums: List[int]) -> int:
res = 0
for elemt in nums:
res = res^elemt
return res