版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gjh13/article/details/90734039
解题思路:
这道题真有点玄乎,请看:https://blog.csdn.net/smile_watermelon/article/details/47750249
先mark,之后再仔细研究。
class Solution {
public:
vector<int> singleNumber(vector<int>& nums) {
vector<int> res(2, 0);
int tmp = 0;
for(auto num: nums)
tmp = tmp ^ num;
tmp = tmp & (~(tmp - 1));
for(auto num: nums){
if((num & tmp) == 0)
res[0] ^= num;
else res[1] ^= num;
}
return res;
}
};