只出現(xiàn)一次的數(shù)字
題目:
給定一個非空整數(shù)數(shù)組迎捺,
除了某個元素只出現(xiàn)一次以外慌闭,其余每個元素均出現(xiàn)兩次别威。
找出那個只出現(xiàn)了一次的元素。
你的算法應(yīng)該具有線性時間復(fù)雜度驴剔。 你可以不使用額外空間來實現(xiàn)嗎省古?
題解:
/**
* @param {number[]} nums
* @return {number}
*/
var singleNumber = function(nums) {
var r = 0
for(var i = 0; i<nums.length;i++){
r = r ^ nums[i]
}
return r
};
知識點:異或
交換律:a ^ b ^ c <=> a ^ c ^ b
任何數(shù)于0異或為任何數(shù) 0 ^ n => n
相同的數(shù)異或為0: n ^ n => 0