题目描述
现在有一个整数类型的数组,数组中素只有一个元素只出现一次,其余的元素都出现两次。
注意:
你需要给出一个线性时间复杂度的算法,你能在不使用额外内存空间的情况下解决这个问题么?
思路
异或运算特点:两个相同的数进行异或,结果为0
class Solution {
public:
int singleNumber(int* A, int n)
{
int num = 0;
for(int i = 0; i < n; i++)
num ^= A[i];
return num;
}
};