可使用异或运算。异或运算有以下三个性质。
任何数与0异或都是它自己
任何数与自己异或都是0
异或满足交换和集合率
当 mid 是偶数时,mid+1=mid^1;
当mid 是奇数时,mid−1=mid^1。
public int singleNumber(int[] nums) {
int single = 0;
for (int num : nums) {
single ^= num;
}
return single;
}