//一个整型数组里除了1个数字之外,其他的数字都出现了两次。请写程序找出只出现一次的数字。
//要求时间复杂度是O(n),空间复杂度是O(1)。
int FindOne(int a[],int len)
{
/* 异或的基本性质:
1. 2个相同的数异或等于0
2. 任何数与0异或都等于其本身
*/
int ret = 0;
int i;
for(i=0;i<len;i++)
{
ret = ret ^ a[i];
}
return ret;
}