在一個字符串中找到第一個只出現一次的字符。如輸入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)。雖然這個題目很簡單,但是這個數組的功能其實挺強大的,可以解決很多變種問題。