题目

136 Single Number

题解

根据题意,除了某个数字只出现一次之外,其他数字都会出现两次。为了找到那个只出现一次的数字,我们需要排除掉所有出现两次的数字,这是问题的关键所在。 对于某个数字,其与自身进行异或运算的结果为0。利用这一点,我们可以消除掉所有出现两次的数字,从而使得只出现一次的数字被保留下来。

代码

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