给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
示例 1:
输入: [2,2,1]
输出: 1
public int singleNumber(int[] nums) {
HashSet<Integer> hashSet = new HashSet<>();
for (int i = 0; i < nums.length; i++) {
//包含相同数据时-删除
if (hashSet.contains(nums[i])){
hashSet.remove(nums[i]);
}else {
//集合里没有相同数据时-添加
hashSet.add(nums[i]);
}
}
for (int i = 0; i < nums.length; i++) {
if (hashSet.contains(nums[i])){
return nums[i];
}
}
return -1;
}