题目描述
在一个字符串(1<=字符串长度<=10000,全部由大小写字母组成)中找到第一个只出现一次的字符,并返回它的位置
#include <iostream>
#include <map>
#include <algorithm>
using namespace std;
bool FindChar(char* pInputString, char* pChar){
map<char,int> charMap;
int i=0;
while(pInputString[i]!='\0'){
charMap[pInputString[i]]++;
i++;
}
map<char,int>::iterator it;
for(int j=0;j<i;j++){
it=charMap.find(pInputString[j]);
if(it->second==1){
*pChar=it->first;
return 1;
}
}
*pChar='.';
return 0;
}
int main(){
char pInputString[10000];
while(cin>>pInputString){
char c;
char *pChar=&c;
FindChar(pInputString,pChar);
cout<<*pChar<<endl;
}
}