找出数组中缺失的那个数
问题
这个题目说的是,数组元素在 0-n 之间,但是有一个数是缺失的,要求找到这个缺失的数。
Input: [3,0,1]
Output: 2
代码
两个相同的数异或的结果为 0,对所有数进行异或操作,最后的结果就是单独出现的那个数。
public int missingNumber(int[] nums) {
int ret = 0;
for (int i = 0; i < nums.length; i++) {
ret = ret ^ i ^ nums[i];
}
return ret ^ nums.length;
}