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