260_SingleNumberIII - a920604a/leetcode GitHub Wiki
class Solution {
public:
vector<int> singleNumber(vector<int>& nums) {
unsigned int diff = 0;
for(int n:nums) diff^=n;
diff &= (-diff);
int a=0, b=0;
for(int n:nums){
if(n&diff) a^= n;
else b^=n;
}
return {a,b};
}
};
- time complexity
O(n)
- space complexity
O(1)