今天一道题
思路:
可以把1到n的数字全加一起再减去数组中的数就可以得到
而^(异或)符号相同为0不同为1
C
int missingNumber(int* nums, int numsSize)
{
int x=0;
for(int i=0;i<numsSize;i++)
{
x-=nums[i];//x^=j;
}
for(int i=0;i<=numsSize;i++)
{
x+=i;//x^=nums[i];
}
return x;
}
C++
class Solution {
public:
int missingNumber(vector<int>& nums)
{
int x=0;
for(int j=0;j<nums.size()+1;j++)
{
x+=j;//x^=j;
}
for(int i=0;i<nums.size();i++)
{
x-=nums[i];//x^=nums[i];
}
return x;
}
};
白