Day08-只出现一次的数字

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;
};
点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注