力扣题库——136.只出现一次的数字-LMLPHP

代码实现:

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int result=0;
        for(int num:nums)
        {
            result^=num;
        }
        return result;
    }
};

结果:力扣题库——136.只出现一次的数字-LMLPHP

思路:这里让0和数组元素不断异或,因为0与一个数异或的结果是它本身,而一个数与自己异或就是为0。

因为题目提到除去出现一次的元素外,每个元素都出现两次。并且异或运算是可交换的和结合的,因此不管元素的顺序如何,异或的结果是一样的。两两元素会异或成0。只留下唯一出现的元素。

11-08 18:36