剑指 Offer 53 - II. 0~n-1中缺失的数字
思路
这里仔细研究一下,可以发现题目描述有些不正确,正确意思应该是在一个长度为n的数组中,每个数字都是唯一的,数字范围是0 ~ n,那么说明有一个数字不存在,因此只需要对所有元素依次异或,然后异或1 ~ n,那么最后得到的值就是不出现的数字
代码
public int missingNumber(int[] nums) {
int res=0;
for(int i=0;i<nums.length;i++){
res^=nums[i];
res^=i+1;
}
return res;
}