136. Single Number

Leetcode link

题目简介

/**
 * @param {number[]} nums
 * @return {number}
 */

题目给我们一个数字数组 nums,数组之中大部分的数字都出现了两次,只有一个数字出现了一次

要求我们在 O(n) 时间复杂度与 O(1) 时间复杂度下把只出现一次的数字找出来返回

解题思路

这题我们可以用异或来解

两个相同的数字异或最后的结果为 0,所以只要我们把 nums 中所有数字进行异或,剩下来的数字就是答案

Javascript

/**
 * @param {number[]} nums
 * @return {number}
 */
var singleNumber = function(nums) {
    let res = 0
    for(const num of nums) {
        res ^= num
    }
    return res
};

results matching ""

    No results matching ""