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和任何数异或运算都是等于这个数本身