题目:一个数组里除了一个数字之外,其他的数字都出现了两次。请写程序找出这个只出现一次的数字。
例如:A[] = {1,2,2,3,3};输出1.
思路:我们联想到异或的性质,若两个数相同,异或结果为0,因此若对数组中的数从头到尾异或一遍,所得的结果就是那个只出现一次的数字。
int uniqueNumber(int A[],int length){
int result = A[0];
for(int i = 1;i < length;i++){
result ^= A[i];
}
return result;
}