136. Single Number

2022-08-09  本文已影响0人  sarto

题目

给定一个非空数组 nums,其中除了一个元素外,其他每个元素都出现了两次,找到这个唯一出现一次的数字。

解析

异或运算的规律,两个相同的数字异或为 0 ,0 和任何数字异或得本身。异或运算满足结合率。

伪代码

rst = 0 
for i in nums
  rst ^= nums[i]
return rst

代码

func singleNumber(nums []int) int {
    rst := 0
    for i := range nums {
        rst ^= nums[i]
    }
    return rst
}
image.png
上一篇 下一篇

猜你喜欢

热点阅读