Using bit XOR operatons, just like the "find missing number (all elements except one occur twice, find the one that occurs once)" one

The reason I didn't use sum[1..n] - sum(nums) is that calculating sum has potential to cause overflow. XOR bit operation is much safer.

```
class Solution {
public:
int missingNumber(vector<int>& nums) {
int missing =0;
for(int i=0; i<nums.size();++i)
missing ^= ((i+1)^nums[i]);
return missing;
}
};
```