【位运算】出现次数为1的数 1

题目链接:出现过一次的数

给定一个数组,对于只有一个元素仅出现一次,其余元素都恰好出现两次

解题思路

我们知道对于异或运算,有如下性质:x^y^y=x
于是我们可以将所有元素异或起来,最后结果就是仅出现过一次的那个元素

代码

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int n=nums.size();
        for(int i=1;i<n;++i){
            nums[i]^=nums[i-1];
        }
        return nums[n-1];
    }
};
posted @ 2023-02-28 22:40  ~Chitoge  阅读(35)  评论(0)    收藏  举报