136. Single Number

问题描述

Given a non-empty array of integers, every element appears twice except for one. Find that single one.
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

思路

用XOR 的特点以及交换律, 只有两个完全一致的数字 xor,才会得0,整个list的元素xor一遍,随后剩下的就是多出来落单的元素

    def singleNumber(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        result=nums[0];
        for i in range(1, len(nums)):
            result = result ^ nums[i]
        return result

你可能感兴趣的:(136. Single Number)