Leetcode 260. 只出现一次的数字 III 解题思路及C++实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
    }
};

猜你喜欢

转载自blog.csdn.net/gjh13/article/details/90734039