leetcode刷题系列C++-single number I

Given an array of integers, every element appears twice except for one. Find that single one.

Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

Subscribe to see which companies asked this question

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int length = nums.size();
        int x = 0;
        for(int i = 0; i < length; ++i)
        {
            x ^= nums[i];
        }
        return x;
        
    }
};

异或运算,0根任何数异或都是任何数本身,异或符合交换律   a ^ b = b ^ a 。

你可能感兴趣的:(leetcode刷题系列C++-single number I)