标签:
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 }
标签:
原文地址:http://www.cnblogs.com/lilixu/p/4589686.html