136. Single Number

Given a non-empty 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?

Example 1:

Input: [2,2,1]
Output: 1

Example 2:

Input: [4,1,2,1,2]
Output: 4

解题要点:

题目要求不能用extra memory,所以取0到list的倒数第二位,把i+1的元素作为储存xor结果的容器。返回list最后一位即可。

class Solution(object):
    def singleNumber(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        for i in range(len(nums)-1):
            nums[i+1] ^= nums[i]
        return nums[-1]

Last updated

Was this helpful?