求:
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = "leetcode"
返回 0.
s = "loveleetcode",
返回 2.
注意事项:您可以假定该字符串只包含小写字母。
解:
#define MAXSIZE 26
int firstUniqChar( char * s){
int hashTable[MAXSIZE] = { 0 };
char * tmp;
int index;
int count = 0 ;
for (tmp=s;*tmp!= ' \ 0 ' ;tmp++){
index = *tmp - 'a' ;
hashTable[index]++;
}
for (tmp=s;*tmp!= ' \ 0 ' ;tmp++){
index = *tmp - 'a' ;
if (hashTable[index]== 1 ) return count;
count++;
}
return - 1 ;
}