LeetCode - Single Number

Single Number

2014.1.13 20:17

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?

Solution:

  Exclusive OR is a wonderful operator.

  Time complexity is O(n), space complexity is O(1).

Accepted code:

 1 class Solution {

 2 public:

 3     int singleNumber(int A[], int n) {

 4         // Note: The Solution object is instantiated only once and is reused by each test case.

 5         int res = 0;

 6 

 7         for(int i = 0; i < n; ++i){

 8             res ^= A[i];

 9         }

10 

11         return res;

12     }

13 };

 

你可能感兴趣的:(LeetCode)