Given an array of integers, every element appears twice except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
異或交換原理: 數字A異或B兩次,就得到A。而B被A異或兩次,就得到B
任意數與自己異或操作都是0,任意數與0異或操作都得到本身。
#!usr/bin/env
# -*-coding:utf-8 -*-
class Solution(object):
def singleNumber(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
res = 0
for ele in nums:
res ^= ele
return res