给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

146 阅读1分钟
var nums = [1,2,2]
var singleNumber = function(nums) {
    let ary = 0    
    for(let i = 0; i<nums.length; i++){
        ary ^= nums[i]    
    }    
    return ary
};

异或符号 ^

相同的数异或为0,任何数与0异或为任何数。

两个相同的数抵消,只剩下一个单独的。这样我们就可以找出来只出现一次的元素