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.
Note: You may assume the string contain only lowercase letters.
class Solution {
public:
int firstUniqChar(string s) {
if(s.length()==0)
return -1;
int index[256] ;
for(int i=0; i<256; i++)
index[i] = -1;
int idx = 0;
for(int i=0; i<s.length(); i++)
{
if(index[s[i]]==-1)
{
index[s[i]] = idx;
}else
{
index[s[i]] = -2;
}
idx++;
}
int min = INT_MAX;
for(int i=0; i<256; i++)
{
if(index[i]>=0&&index[i]<min)
min = index[i];
}
return min==INT_MAX? -1 : min;
}
};
本文介绍了一种算法,用于查找给定字符串中的第一个不重复出现的字符,并返回其索引位置。如果不存在这样的字符,则返回-1。通过具体实例展示了如何实现这一功能。

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



