【劍指Offer】第一個只出現一次的字元
阿新 • • 發佈:2018-12-13
題目描述
在一個字串(0<=字串長度<=10000,全部由字母組成)中找到第一個只出現一次的字元,並返回它的位置, 如果沒有則返回 -1(需要區分大小寫).
分析:簡單計數並記錄字元對應的位置
class Solution { public: int FirstNotRepeatingChar(string str) { int cnt[256]= {0},index[256],len=str.length(); for(int i=0; i<len; i++) { cnt[str[i]-'0']++; if(cnt[str[i]-'0']==1) { index[str[i]-'0']=i; } } for(int i=0; i<len; i++) { if(cnt[str[i]-'0']==1) { return index[str[i]-'0']; } } return -1; } };