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