目录
一、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;}
};