题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
由于前段时间一直在学习位运算,就想到了用异或操作来做这道题,异或操作,两个相同的数异或结果为0,一个数跟0异或是这个数本身。记录一下。
class Solution
{ public: int singleNumber(vector<int>& nums)
{ int ans = nums[0]; if (nums.size() > 1)
{ for (int i = 1; i < nums.size(); i++)
{ ans = ans ^ nums[i]; } } return ans; } };