给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。
样例
给出 [1,2,2,1,3,4,3],返回 4
挑战
一次遍历,常数级的额外空间复杂度
***********************************************************
异或
package LintCode;
public class 落单的数 {
public int singleNumber(int[] A) {
if(A.length == 0)
return 0;
int a = A[0];
for(int i=1;i<A.length;i++){
a = a ^ A[i];
}
return a;
}
public static void main(String[] args) {
int[] A = {1,2,2,1,3,4,3};
int a = new 落单的数().singleNumber(A);
System.out.println(a);
}
}