这是一道来自leetcode的简单题目,第一次接触到了使用异或运算符进行解答。
题目
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
暴力遍历
var singleNumber = function(nums){
let i = 0 ,j = 0 ;
for(i=0;i<nums.length;i++){
for(j=0;j<nums.length;j++){
if(i != j && nums[i] == nums[j]){
break;
};
};
if(j == nums.length){
return nums[i];
};
}
}
异或运算符解题
/**
* @param {number[]} nums
* @return {number}
*/
var singleNumber = function(nums) {
for(let i=1;i<nums.length;i++){
nums[0] = nums[0] ^ nums[i];
}
return nums[0]
};