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