找出数组中只出现一次的数,其余的数都出现两次。
主题思想: 异或的定义,相同为0, 不同为1, 数组里每个数都异或操作,最后肯定是0和只出现一次的那个数异或,任何数和0异或等于数本身。
AC代码:
class Solution {
public int singleNumber(int[] nums) {
if(nums.length==1) return nums[0];
int ans=nums[0];
for(int i=1;i<nums.length;i++){
ans=ans^nums[i];
}
return ans;
}
}

本文介绍了一种利用异或操作解决数组中唯一数值查找问题的方法。通过遍历数组并对所有元素进行异或运算,最终得到仅出现一次的数值。这种方法简单高效,适用于处理大量重复数据的情况。
202

被折叠的 条评论
为什么被折叠?



