public int singleNumber(int[] nums) {
Set<Integer> s = new HashSet<>();
for (int i = 0; i < nums.length; i++)
if (!s.add(nums[i])) s.remove(nums[i]);
return s.iterator().next();
}

public int singleNumber(int[] nums) {
HashSet<Integer> set=new HashSet<>();
int sum=0;
for (int i=0;i<nums.length;++i) sum+=(set.add(nums[i])?nums[i]:-nums[i]);
return sum;
}