/**
* @param {number[]} nums
* @return {number[]}
*/
var singleNumber = function(nums) {
var num=0,mask=1, num1=0, num2 = 0,i=0;
for(i=0;i<nums.length;i++){
num^=nums[i];
}
while((mask & num)==0){
mask <<=1;
}
for(i=0;i<nums.length;i++){
if ((nums[i] & mask) == 0)
num1 ^= nums[i]
else
num2 ^= nums[i]
}
return [num1, num2];
};
注意:条件中的 (nums[i] & mask) == 0 不能写成 nums[i] & mask == 0