数字(异或运算)"/>
leetcode:268. 丢失的数字(异或运算)
一、题目
函数原型:
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; }
更多推荐
leetcode:268. 丢失的数字(异或运算)
发布评论