python 力扣 (只出现一次的数字)

             python 力扣 (只出现一次的数字)

题目要求:

 

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

 

class Solution:
    def singleNumber(nums) -> int:
        a = 0
        for i in nums:
            a = a ^ i
        return a
print(Solution.singleNumber(nums=[9,5,5,9,3]))
print(Solution.singleNumber(nums=[2,2,1]))
print(Solution.singleNumber(nums=[4,1,2,1,2]))
#运行结果:3 ,1, 4

解题思路:

两个关于异或的结论:

1.两个相同的数字异或运算必定等于0

2。0和任何数异或运算都是等于这个数本身

你可能感兴趣的:(python 力扣 (只出现一次的数字))