输入描述:
输入一个非空字符串
输出描述:
输出第一个只出现一次的字符,如果不存在输出-1
示例1
输入
asdfasdfo
输出
o
用空间换时间的方法,遍历一次即可
#include<iostream>
#include<string>
using namespace std;
void find(string a)
{
char s = NULL;
int i = 0;
int p[256] = { 0 };
for (i = 0; i<a.size(); i++)
{
p[a[i]]++;
}
for (i = 0; i<a.size(); i++)
{
if(p[a[i]]==1)
{
s=a[i];
break;
}
}
if (s == NULL)
{
cout << -1 << endl;
}
else
{
cout << s << endl;
}
}
int main()
{
string a;
while (cin >> a)
{
find(a);
}
}
|