class Solution
{
public:
int singleNumber(vector<int>& nums)
{
set<int> temp;
set<int>::iterator result;
for (int i = 0; i < nums.size(); ++i)
{
result = temp.find(nums[i]);
if (result == temp.end())
{
temp.insert(nums[i]);
}
else
{
temp.erase(nums[i]);
}
}
return *(temp.begin());
}
};
最佳解法
class Solution
{
public:
int singleNumber(vector<int>& nums)
{
int result = 0;
for (int i = 0; i < nums.size(); ++i)
{
result = result ^ nums[i];
}
return result;
}
};