540. Single Element in a Sorted Array (Medium)

Given a sorted array consisting of only integers where every element appears twice except for one element which appears once. Find this single element that appears only once.

Example 1:

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

Example 2:

Input: [3,3,7,7,10,11,11]
Output: 10

Note: Your solution should run in O(log n) time and O(1) space.

思路:
^ 按位异或运算符,同为0,不同为1;

 

class Solution():
    def singleNonDuplicate(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        ans = 0
        for i in range(len(nums)):
            ans ^= nums[i]
        return ans

 

 
posted @ 2017-09-13 18:59  Yancea  阅读(162)  评论(0编辑  收藏  举报