Leetcode 136

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        unordered_map<int,int> m;
        for(int i=0;i < nums.size();i++){
            m[nums[i]]++;
        }
        unordered_map<int,int>::iterator iter;
        for(iter = m.begin();iter != m.end();iter++){
            if(iter->second == 1) return iter->first;
        }
        return 0;
    }
};

这个写法只为熟悉一下map的基本操作,复杂度不符合要求。

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        int res = 0;
        for(int num:nums) res ^= num;
        return res;
    }
};

异或操作可还行

猜你喜欢

转载自www.cnblogs.com/cunyusup/p/10556090.html