136. 只出现一次的数字

题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

思路:异或运算符在两个二进制位不同时返回1,相同时返回0

代码:

1 /**
2  * @param {number[]} nums
3  * @return {number}
4  */
5 var singleNumber = function(nums) {
6  return nums.reduce((a,b)=>a^b);
7 };

 

posted @ 2021-05-19 17:03  icyyyy  阅读(47)  评论(0)    收藏  举报