目录
一、136.只出现一次的数字
二、代码
三、26删除有序数组中的重复项
四、代码
一、136.只出现一次的数字
136. 只出现一次的数字 - 力扣(LeetCode)
二、代码
-
交换律:a ^ b ^ c <=> a ^ c ^ b
-
任何数与0异或为任何数 0 ^ n => n
-
相同的数异或为0: n ^ n => 0
2 ^ 3 ^ 2 ^ 4 ^ 4等价于 2 ^ 2 ^ 4 ^ 4 ^ 3 => 0 ^ 0 ^3 => 3
class Solution {
public:
int singleNumber(vector<int>& nums) {
int a=0;
for(auto data:nums)
{
a=a^data;
}
return a;
}
};
三、26删除有序数组中的重复项
26. 删除有序数组中的重复项 - 力扣(LeetCode)
四、代码
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
int n=nums.size();
if(n==1)
return n;
vector<int>::iterator itbegin=nums.begin();
vector<int>::iterator it=itbegin+1;
while(itbegin!=nums.end())
{
while(it!=nums.end())
{
if((*itbegin) == (*it))
{
it = nums.erase(it);
}
else
{
it++;
}
}
itbegin++;
it=itbegin+1;
}
n = nums.size();
return n;
}
};