Leetcode:找出双胞胎数组中的叛徒!

这是一道来自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]
};

猜你喜欢

转载自blog.csdn.net/yivisir/article/details/108517635
今日推荐