a ^ a = 0; a ^ 0 = a. 其他的 index i 和 nums[i] 都配对成功了,然后都抵消为 0 了,最后剩下的那个 a 就是 missing 掉的。
public class Solution {
public int missingNumber(int[] nums) {
int index = 0, xor = 0;
for (int i = 0; i < nums.length; i++) {
xor ^= index ^ nums[i];
index++;
}
return xor ^ index;
}
}