Q:Given an array of integers, every element appears twice except for one. Find that single one.
问题:给定一个整数数组,其中除了一个元素仅出现一次,其他每个元素出现了两次。找到这个仅出现一次的数。
思路:用异或符“^” ,“^”可以理解为将二进制数的对应位相加且无进位,将数组中所有数依次亦或后,其结果就是要找的结果。
代码:
public int singleNumber(int[] nums) {
for (int i = 1; i< nums.length; i++) {
nums[0] ^= nums[i];
}
return nums[0];
}