Leetcode解题(第136题)

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

你可能感兴趣的:(leetcode)