[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。
因此,既然只有一个数是唯一的,其余的都出现了两次,那么这道题只要把所有的数字都异或一遍,最后的结果就是那个唯一的数。
相关文章推荐
- [leetcode]9. Palindrome Number -- JavaScript 代码
- [leetcode]179. Largest Number -- JavaScript 代码
- [leetcode]306. Additive Number -- JavaScript 代码
- leetcode 136. Single Number 复杂方法
- [leetcode]373. Find K Pairs with Smallest Sums -- JavaScript代码
- [LeetCode][Java][JavaScript]Super Ugly Number
- [LeetCode][JavaScript]Create Maximum Number
- [LeetCode][JavaScript]Ugly Number II
- [leetcode]74. Search a 2D Matrix -- JavaScript 代码
- [leetcode]376. Wiggle Subsequence -- JavaScript代码
- [LeetCode][JavaScript]Number of Digit One
- [leetcode]268. Missing Number -- JavaScript 代码
- [LeetCode][JavaScript]Excel Sheet Column Number
- [leetcode]290. Word Pattern -- JavaScript 代码
- [leetcode]279. Perfect Squares -- JavaScript 代码
- [leetcode]365. Water and Jug Problem -- JavaScript 代码
- [LeetCode][JavaScript]Single Number II
- [LeetCode][JavaScript]Number of Islands
- LeetCode Single Number III (Java和Python代码)
- JavaScript中sort方法的一个坑(leetcode 179. Largest Number)