题目描述
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
- 解题思路:
- 由于之前写过对于在一个数组中有两个只出现一次的数,其他均为出现两次的数,所以这次很容易就想到使用位运算符^异或来进行编写
- 异或思路
- 任何数和0进行异或等于其本身
- 一个数与自己异等于0(通过该条很容易想到通过异或消除一个数组中出现两次的数)
代码如下:
public int singleNumber(int[] nums) {
int result = 0;
for(int i=0;i<nums.length;i++){
result ^= nums[i];
}
return result;
}