劍指offer-第一個只出現一次的字符
阿新 • • 發佈:2018-04-01
題目 body HA 它的 log turn spa first 數組
題目描述
在一個字符串(1<=字符串長度<=10000,全部由字母組成)中找到第一個只出現一次的字符,並返回它的位置解題思路
由於char類型一共有256種可能,所以開辟一個數組hash[256]用來記錄每個字符出現的次數,這樣遍歷兩次字符串即可得到結果。第一次更新hash數組中對應字符的次數,第二次返回第一個字符次數為1的字符位置即可。
代碼
1 class Solution { 2 public: 3 int FirstNotRepeatingChar(string str) { 4 int hash[256] = {0}; 5 for(int i = 0; i < str.size(); i++) 6 hash[str[i]]++; 7 for(int i = 0; i < str.size(); i++) 8 if(hash[str[i]] == 1) 9 return i; 10 return -1; 11 } 12 };
劍指offer-第一個只出現一次的字符