给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 示例 : 输入: [2,2,1] 输出: 1 思路: 直接异或就完事 异或的性质,相同为0,不同为0,因此将数组的所有元素进行异或,出现两次的元素最后异或成为0,只出现一次的元素与0异或还是本身。 class Solution { public: int singleNumber(vector<int>& nums) { int ret = 0; for (auto e: nums) ret ^= e;//将数组的所有元素进行异或 return ret; } };