Day08
算法每日一题
原题链接:https://leetcode.cn/problems/single-number/description/
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。
/**
* 找出数组中只出现一次的数字
*
* @param {number[]} nums - 一个整数数组,其中每个元素都出现两次,只有一个元素出现一次
* @return {number} - 只出现一次的那个元素
*/
var singleNumber = function(nums) {
// 初始化结果变量 res 为 0
let res = 0;
// 遍历数组中的每个元素
for (let i = 0; i < nums.length; i++) {
// 使用异或运算将当前元素与结果变量 res 进行异或
res ^= nums[i];
}
// 返回结果变量 res,它就是只出现一次的那个元素
return res;
};