leetcode之136只出现一次的数字Golang
异或操作符^
关于异或运算:
-
我们需要知道的是任意两个相同的数进行异或运算结果为0
-
0与任意数字异或运算结果还是该数字本身
算法
将数组中所有元素进行异或运算,由于之前所有元素都成对出现,所以那些元素异或结果为0,这个0与那个单独的元素异或运算,结果就是只出现一次的那个元素
代码如下:
func singleNumber(nums []int) int {
var res int
for _, value := range nums {
res ^= value
}
return res
}
浙公网安备 33010602011771号