您的位置:首页 > 其它

Leetcode 136 Single Number

2015-06-19 20:22 330 查看
Given an array of integers, every element appears twice except for one. Find that single one.

传统方法:使用Hash,扫描一遍如果Hash中没有这个元素则加入,否则从Hash中删除,最后Hash中留有一个单独的元素。这边使用object-property构成hash。

var singleNumber = function(nums) {
var hash = {}
for(var i=0;i<nums.length;i++)
if (hash.hasOwnProperty(nums[i]))
delete hash[nums[i]]
else
hash[nums[i]] = 1
for(var x in hash)
return Number(x) # property value is always string type
}


高端方法:异或。

var singleNumber = function(nums) {
var ans = 0
for(var i=0;i<nums.length;i++)
ans ^= nums[i]
return ans
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: