只出现一次的数字:
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
示例 1:
输入: [2,2,1]
输出: 1
/**
* @param {number[]} nums
* @return {number}
*/
var singleNumber = function(nums) {
let result = nums[0];
for(let i = 1 ;i < nums.length; i++){
result = result ^ nums[i];
}
return result;
};
singleNumber([1,1,2,3,2])
^为运算符:异或;要先转换为二进制,进行对比,求异
例如:x = 5 ^ 1 0101 ^ 0001 = 0100 4
算法是这么写的,但是逻辑我还没有理清楚,先记下来