题解:进行异或运算。数组中只有一个元素出现一次,其它的元素都出现两次,如果把所有的数都异或,相同的数字异或为0,最后只剩下出现一次的数字,它和0异或,结果就是它本身。
class Solution { public: int singleNumber(vector<int>& nums) { int ans = 0; for(int i = 0; i < nums.size(); i++){ ans = ans ^ nums[i]; #异或 } return ans; } };
题解:进行异或运算。数组中只有一个元素出现一次,其它的元素都出现两次,如果把所有的数都异或,相同的数字异或为0,最后只剩下出现一次的数字,它和0异或,结果就是它本身。
class Solution { public: int singleNumber(vector<int>& nums) { int ans = 0; for(int i = 0; i < nums.size(); i++){ ans = ans ^ nums[i]; #异或 } return ans; } };