只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
示例 1:
输入: [2,2,1]
输出: 1
示例 2:
输入: [4,1,2,1,2]
输出: 4
解题思路
暴力解决
根据题目说明,某个元素要么出现一次,要么出现两次,因此,不用考虑出现两次以上的情况。
1.首先将数组按升序排序,此时出现两次的元素会排在一起;
2.遍历元素,判断当前元素是否和后一个元素相同,若是相同,则删掉相同的两个元素
3.因为删除了两个元素,所以数组长度减2
/**
* @param {number[]} nums
* @return {number}
*/
var singleNumber = function(nums) {
nums.sort((a,b) => a-b)
for(var i=0;i<nums.length;i++){
if(nums[i] == nums[i+1]){
nums.splice(i,2)
i = i-2
}
}
return nums
};