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

在一个字符串中找到第一个只出现一次的字符。如输入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)。虽然这个题目很简单,但是这个数组的功能其实挺强大的,可以解决很多变种问题。

原文地址:https://www.cnblogs.com/keanuyaoo/p/3290095.html