[LeetCode] 136 - Single Number

題意

有一個陣列裡面的元素皆出現兩次,只有一個元素為一次,找出獨立的那個元素。

解法

利用XOR運算,兩個相同的元素XOR運算結果為0,所以剩下的那一個就是答案。

1
1^2^3^4^3^2^1 = 1^1^2^2^3^3^4 = 4

程式

1
2
3
4
5
6
7
8
9
10
11
/**
* @param {number[]} nums
* @return {number}
*/
var singleNumber = function(nums) {
var number = nums[0] ;
for ( var i = 1 ; i < nums.length ; i ++ ){
number ^= nums[i] ;
}
return number ;
};