一组数据中,只有一个数字仅出现一次,其他数字均出现两次,找出这个数字
- 要求:不借助任何空间
- 我们已知的是:a^0 = a,a^a = 0 (转换为二进制,然后按位计算)
- 三个常见规则:
- 相同的结果会得到全0;
- 和全0异或,结果不变;
- 和全1异或,结果会得到自己的取反
public static Integer findOnlyNum1(int[] array){
int result = 0;
for(int i = 0 ;i<array.length;i++){
result^=array[i];
}