题目:
Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.
Examples:
s = "leetcode" return 0. s = "loveleetcode", return 2.
思路:
首先这里假设只有小写字母,自然想到开一个大小为26的数组,保存每个字母出现的次数,然后在扫描一次字符串。
程序:
class Solution {
public:
int firstUniqChar(string s) {
int len = s.length(), i;
map<char, int> map1;
for(i = 0; i < len; i++){
map1[s[i]]++;
}
for(i = 0; i < len; i++){
if(map1[s[i]] == 1)
return i;
}
return -1;
}
};