题目描述:
示例1:
示例2:
代码:
class Solution {
public:
int singleNumber(vector<int>& nums) {
int n=nums.size(),s=0;
for(int i=0;i<n;i++){
s=nums[i]^s;
}
return s;
}
};
异或运算具有
①任意数字与0异或仍为该数字本身
②相同数字异或结果为0
的特点。
初始变量s设为0,遍历数组依次异或,相同的数字异或为0,0与数字异或为该数字。遍历运算完,剩下唯一出现奇数次的数字。