[LeetCode][Python]136. Single Nu

2017-04-21  本文已影响34人  bluescorpio

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
上一篇 下一篇

猜你喜欢

热点阅读