思路一:异或
思路二:两次循环(暴力求解)
思路三:Hash
public static int singleNumber_HashSet(int[] nums) {
int len = nums.length;
Set<Integer> set = new HashSet<>();
for (int i = 0; i < len; i++) {
// 尝试将当前元素加入 set
if (!set.add(nums[i])) {
// 当前元已经存在于 set,即当前元素第二次出现,从 set 删除
set.remove(nums[i]);
}
}
// 最后只剩一个不重复的元素
return set.iterator().next();