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