使用C++实现找出字符串中第一个出现一次的字符串
使用STL中的映射容器实现,遍历字符串,找出每个字符串出现的次数
#include <iostream>
#include <map>
using namespace std;
int main(void){
map<char,int> themap;
string str;
while(getline(cin,str)){
//在themap中保存每个字符串出现的次数
for(int i = 0;i<str.size();i++){
if(themap.count(str[i])){
themap[str[i]]++;
}
else{
themap[str[i]] = 1;
}
}
for(int i = 0;i<str.size();i++){
if(themap[str[i]]==1){
cout << str[i] << endl;
break;
}
if(i == str.size() - 1){
cout << "-1" << endl;
}
}
//这里一定要清空,否则下次的结果会出错
themap.clear();
}
return 0;
}