1、题目:
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
2、实例:
实例1:
输入: [2,2,1]
输出: 1
实例2:
输入: [4,1,2,1,2]
输出: 4
3、题解:
var singleNumber = function (nums) {
let arr = nums.sort()//先进行一个排序
let temp = 0;
for (let i = 0; i < arr.length; i++) {
if (i % 2 == 0) {
temp += arr[i]
} else {
temp -= arr[i];
if (temp != 0) {
return nums[i - 1]
}
}
}
return nums[nums.length - 1]
};