获取数组中只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

示例1:
输入:[1,2,2,3,3]
输出:1

解题思路:
先把数组按照从大到小排序,
然后先考虑第一个和最后一位数字的情况,
如果第一位和第二位不等 则返回第一位;
若最后一位与倒数第二位不相等 则返回最后一次;
然后比较当前相邻左右数字,如果两边都不相等 则返回当前数字

代码如下:

function singleNumber(nums){
    nums = nums.sort((a,b)=>a-b);
    if(nums[0] !==nums[1]){
        return nums[0];
    }
  if(nums[nums.length-1] !==nums[length-2]){
      return nums[length-1]
  }
  for(let i =1;i

你可能感兴趣的:(获取数组中只出现一次的数字)