题目:在一个字符串中找到第一个只出现一次的字符,如输入abaccdeff,则输出b;具体实现如下:

#include <iostream>
#include <string>
using namespace std;
void FindChar(const string &strBuf)
{
int nArr[256]; //ASCII中有256个字符
int i;
for (i = 0; i < 256; i++)
{
nArr[i] = 0;
}
for (i = 0; i < strBuf.size(); i++)
{
nArr[strBuf[i]]++;
}
for (i = 0; i < 256; i++)
{
if (nArr[i] == 1)
{
cout<<(char)i<<endl;
return;
}
}
}
int main()
{
string str = "dfdsa4qwerfsdasdf4vwers";
FindChar(str);
system("pause");
return 0;
}

运行效果如图1所示:

在一个字符串中找到第一个只出现一次的字符_ios

图1 运行效果