Given a non-empty array of integers, every element appears twice except for one. Find that single one.
题目:一个整数非空数组,其中的每个数都存在重复的项,除了一个单独的数,找出这个单独的数输出。
思路:首先将数组排序,索引固定在第一个数,如果后面一个数等于该索引,索引向后移,当所有数循环一遍后,输出索引值。如果索引在数组的倒数第二个位置,就输出最后一个值。
Example 1:
Input: [2,2,1]
Output: 1
Example 2:
Input: [4,1,2,1,2]
Output: 4
/**
* @param {number[]} nums
* @return {number}
*/
var singleNumber = function(nums) {
if(nums == []) return 0;
if(nums.length == 1) return nums[0];
nums = nums.sort();
var result = nums[0];
for(var i=1;i<nums.length;i++){
if(result == nums[i]){
i++;
result = nums[i];
}
}
if(i != nums.length) return result;
else if(result != nums[nums.length-2]) return result;
else return 0;
};
网友评论