这是一道简单题,使用位运算中的异或运算即可,异或运算有以下性质:
1、任何数异或 0 结果仍然是原来的数,即 a⊕0=a
2、任何数和其自身做异或运算,结果是 0
所以我们只需要让数组里的所有元素进行异或运算得到的结果就是那个只出现一次的数字,代码如下所示
class Solution {
public int singleNumber(int[] nums) {
int single = 0;
for (int num : nums) {
single ^= num;
}
return single;
}
}
题目链接:题单 - 力扣(LeetCode)全球极客挚爱的技术成长平台