这是一道简单题,使用位运算中的异或运算即可,异或运算有以下性质:
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热题(12)
发表评论 取消回复