题目:
给定一个数组,每个元素都出现2次除了其中的一个,找出只出现一次的数字注意:算法必须是线性时间复杂度,不使用额外的空间。
提示:利用亦或运算的性质。
#include<iostream>
#include<vector>
using namespace std;
int single(vector<int>&num)
{//A XOR A =0;
int result = 0;
for (int i = 0; i != num.size(); i++)
result ^= num[i];
return result;
}
int main()
{
int ia[] = { 1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,0,0,13 };
vector<int>array(ia, ia + 21);
cout << single(array) << endl;
system("pause");
return 0;
}