https://leetcode.com/problems/single-number/
给定一个非空数组,除了有一个元素外,其他元素出现了两次,找出那个出现了1次的数
要求:线性复杂度,且不能使用额外内存空间
分析:
使用 异或 XOR,因为 a ^ a=0,这样就可以将里面相同的两两进行抵消,最后剩下的那个数就是出现了1次的数
class Solution {
public:
int singleNumber(vector<int>& nums) {
int result=0;
for(int i=0; i<nums.size(); ++i)
{
result ^= nums[i];
}
return result;
}
};