在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
#include<iostream>
using namespace std;
int times[256];
void main()
{
char* data="ajsdlfasd";
int length=strlen(data);
int i;
for(i=0;i<length;i++)
{
times[data[i]]++;
}
for(i=0;i<length;i++)
{
if(times[data[i]]==1)
{
cout<<data[i]<<endl;
break;
}
}
}
定义一个256大小的数组,存放的是每个字符对应的出现的次数。时间复杂度:O(n)。虽然这个题目很简单,但是这个数组的功能其实挺强大的,可以解决很多变种问题。