一、题目
函数原型:
int missingNumber(int* nums, int numsSize)
二、思路:
0 - n缺失一个数字,那么将数组中所有的数字按位异或,再按位异或0 - n的所有数字,由于
x ^ x = 0,0 ^ x = x,因此最终运算结果就是缺失的数字。
本题类似找单身狗:《leetcode:136. 只出现一次的数字(找单身狗)》
三、代码:
int missingNumber(int* nums, int numsSize) { int answer=0; for(int i=0;i<numsSize;i++) { answer^=nums[i]; answer^=i; } return answer^numsSize; }