您的位置:首页 > Web前端 > JavaScript

[leetcode]136. Single Number -- JavaScript 代码

2016-08-13 09:29 363 查看
/**
* @param {number[]} nums
* @return {number}
*/
var singleNumber = function(nums) {// 异或 a ^ b ^ a = b.
var ret = 0;
nums.forEach(function(num){
ret ^= num;
});
return ret;
};


这道题的关键就是位运算,异或运算的运算律有一条是:a ^ b ^ a = b。

因此,既然只有一个数是唯一的,其余的都出现了两次,那么这道题只要把所有的数字都异或一遍,最后的结果就是那个唯一的数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript leetcode