Single Number

题目描述

只出现一次的数字:

给定一个非负整数数组,除了某个元素只出现一次,其余元素均出现两次。

找出只出现一次的元素。

示例:

输入:[2, 2, 1]
输出:1

解法

如果不考虑时间复杂度和空间复杂度,解法很多。

但是如果限制时间复杂度为O(n),空间复杂度为O(1),则使用异或。

解法一:

  • 时间复杂度:O(n)

  • 空间复杂度:O(1)

func singleNumber(nums []int) int {
    ans := 0
    for _, v := range nums {
        ans ^= v
    }
    return ans
}

Last updated

Was this helpful?