136.只出现一次的数字
题目
LeetCode 简单
INFO
给你一个 非空整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
你必须设计并实现 线性时间复杂度 的算法来解决此问题,且该算法只使用 常量额外空间。
示例: 输入:nums = [2,2,1]
输出:1
输入:nums = [4,1,2,1,2]
输出:4
输入:nums = [1]
输出:1
题解
位异或
O(n) O(1)
ts
function singleNumber(nums: number[]): number {
let result = 0
for (let i = 0; i < nums.length; i++) {
result ^= nums[i]
console.log('n', nums[i], 'r', result)
}
return result
}
const nums = [4, 1, 2, 1, 2]
console.log('🌰', singleNumber(nums))