題意:找出給定字符串中出現的第一個 僅出現一次的 元素,不存在僅出現一次的元素返回-1。
solution 1:數組模擬hash。這是昨天學到的,秀一波。其實要寫在一個循環裏應該也是可以的,因爲直觀的想:只需要遍歷一遍數組就可以知道答案。但是這種方法也足夠好了。
class Solution {
public:
int firstUniqChar(string s) {
int c[26] = {0}; // count
for ( auto n : s ) {
c[n-'a']++;
}
for ( auto n : s ) {
if ( c[n-'a'] == 1 ) {
return s.find(n);
}
}
return -1;
}
};
submission: