int firstUniqChar(char* s) {
int len=strlen(s);
int abc[26]={0};
int i=0;
while (i<len){
abc[s[i]-'a']++;
i++;
}
i=0;
while (i<len){
if (abc[s[i]-'a']==1){
return i;
}
i++;
}
return -1;
}
http://blog.youkuaiyun.com/vlin_hao/article/details/52596431
同样也是用字母表存出字母频数。
第一次写的时候,比较笨,没有想到可以利用i来传递下标,所以在字母表数组里存下标,过程比较麻烦。

本文介绍了一种高效算法,用于查找给定字符串中第一次出现的唯一字符的位置。通过两次遍历字符串并使用数组记录字符出现次数,该算法能在O(n)时间内解决问题。
524

被折叠的 条评论
为什么被折叠?



