给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = “leetcode”
返回 0.
s = “loveleetcode”,
返回 2.
注意事项:您可以假定该字符串只包含小写字母。
思路:利用数组对二十六个字母进行统计,再将只有一次的进行输出
代码如下:
```cpp
class Solution {
public:
int firstUniqChar(string s) {
int a[26];
memset(a, 0, sizeof(a));//初始化时要用sizeof()来进行初始化不然会报错
for(int i=0;i<s.length();i++){
a[int(s[i])-97]++;
}//利用数组来对二十六个字母出现的次数进行统计
for(int i=0;i<s.length();i++){
if(a[s[i]-'a'] == 1){//从字符串的第一个字母开始向后排除直到出现1次的
return i;
break;
}
}
return -1;
}
};
```