每日一题 136. 只出现一次的数字(简单,位运算)

每日一题 136. 只出现一次的数字(简单,位运算)_第1张图片
异或运算性质,两个相等的数作异或运算得零,任何数与零作异或运算保持不变
所以整个数组的异或和就是答案

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        ans = 0
        for i in nums:
            ans ^= i
        return ans

一行代码,reduce作累积操作

return reduce(xor, nums)

你可能感兴趣的:(用Python刷力扣,算法,leetcode,python)