简单的排序然后遍历就不说了。这道题同样能够用异或的方法进行处理。一个数与自己异或的结果是0,所以设置一个变量,将数组遍历一遍,将对应的数组元素与该变量异或,同时将对应的指示符与该变量异或,到最后,所有出现过的数都与对应的下标异或后结果为0,剩下的就是缺失的数字。贴代码
class Solution { public: int missingNumber(vector<int>& nums) { int res = nums.size(); for(int i = 0 ; i < nums.size() ; i++) { res^=nums[i]; res^=i; } return res; } };
原文:https://www.cnblogs.com/zhaohhhh/p/14586094.html