思路
异或的特性:相同的数异或 = 0
例如:1⊕1=0,5⊕5=0,1⊕5⊕1⊕5=0
有了这个性质,我们可以将所有数都异或起来,相同的数会被抵消,最后剩下的即为只出现一次的数。 #code-switcher
给定一个非空整数数组 nums。
除了某个元素只出现一次以外,其余每个元素均出现两次。
请找出那个只出现了一次的元素。
要求设计并实现线性时间复杂度的算法,并且算法只使用常量额外空间。
输入一行整数,表示数组 nums 中的元素,整数之间用空格分隔。
输出一个整数,表示数组中只出现一次的元素。
2 2 1
1
4 1 2 1 2
4
1
1
1 <= nums.length <= 3 * 10^4
-3 * 10^4 <= nums[i] <= 3 * 10^4
数组中除了一个元素只出现一次外,其余每个元素均出现两次。