微信图片_20191223132546.jpg
class Solution:
# 返回[a,b] 其中ab是出现一次的两个数字
def FindNumsAppearOnce(self, array):
# write code here
if len(array)<2:
return None
res = None
for num in array:
if res == None:
res = num
else:
res = res ^ num
count = 0
while res % 2 == 0:
res = res >> 1
count += 1
mask = 1 << count
first = None
second = None
for num in array:
if mask & num == 0:
if first == None:
first = num
else:
first = first ^ num
else:
if second == None:
second = num
else:
second = second ^ num
return first, second