136. 只出现一次的数字

题目描述

思路
题目中已经明确说,除了答案对应的那个元素之外,其它元素均出现两次,因此我们直接对整个数组进行异或,即可得到最终的答案。异或的性质就是相同的两个数值求异或,答案是0,而不同的两个数值进行异或,答案是1,因此对整个数组求异或,出现过两次的元素最终都消失了,只剩下答案对应的那个元素。
Golang 题解
go
func singleNumber(nums []int) int {
candidate := nums[0]
for i := 1; i < len(nums); i ++ {
candidate ^= nums[i]
}
return candidate
}
至此,今天的刷题任务完成了✅。