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; } };
异或操作可还行