1
class Solution {
2
public:
3
vector<int> singleNumber(vector<int> &nums) {
4
vector<int> ans;
5
int xorr = 0;
6
for (int i = 0; i < nums.size(); i++) {
7
xorr = xorr xor nums[i];
8
}
9
int count = 0;
10
while (xorr) {
11
if (xorr & 1) {
12
break;
13
}
14
count++;
15
xorr = xorr >> 1;
16
}
17
int xorr1 = 0;
18
int xorr2 = 0;
19
for (int i = 0; i < nums.size(); i++) {
20
if (nums[i] & (1 << count)) {
21
xorr1 = xorr1 xor nums[i];
22
} else {
23
xorr2 = xorr2 xor nums[i];
24
}
25
}
26
ans.push_back(xorr1);
27
ans.push_back(xorr2);
28
return ans;
29
}
30
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0