leetcode 268 缺失的数字

简单的排序然后遍历就不说了。这道题同样能够用异或的方法进行处理。一个数与自己异或的结果是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;
    }
};

 

posted @ 2021-03-27 16:18  zhaohhhh  阅读(35)  评论(0)    收藏  举报