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