1.题目
2.思路
空间换时间。建立一个Map,第一次扫描字符串时,统计每个字符的出现次数。第二次扫描字符串时,返回第一个只出现一次字符的位置。
class Solution {
public:
void FindNumsAppearOnce(vector<int> data,int* num1,int *num2)
{
// 特殊输入
if(data.empty())
{
return ;
}
map<int,int>m;
int find;
for(int i = 0;i<data.size();i++)
{
m[data[i]]++;
}
for(int i = 0;i<data.size();i++)
{
if(m[data[i]]==1)
{
find = i;// //第一次找到的位置
*num1 = data[i];
break;
}
}
for(int i = find+1;i<data.size();i++)
{
if(m[data[i]]==1)第二次找到的位置
{
*num2 = data[i];
}
}
}
};