260. 只出现一次的数字 III

260. 只出现一次的数字 III

解法一: 位运算

go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
func singleNumber(nums []int) []int {
xor := 0
for _, num := range nums {
xor ^= num
}
mask := xor & ((^xor) + 1)
num1 := 0
for _, num := range nums {
if (num & mask) != 0 {
num1 ^= num
}
}
return []int{num1, xor ^ num1}
}

image-20231016075836008

作者

wuhunyu

发布于

2023-10-16

更新于

2023-10-16

许可协议