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?
直接異或運算:出現2次的數據則會自然抵消,最後只剩下出現一次的數據。
class Solution {
public:
int singleNumber(int A[], int n) {
int x;
for(int i=0; i<n; i++)
x^=A[i];
return x;
}
};