给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = "leetcode"
返回 0.
s = "loveleetcode",
返回 2.
注意事项:您可以假定该字符串只包含小写字母。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
hash表用于表示当前的字符是否之前被找过
class Solution {
public:
int firstUniqChar(string s)
{
array<int, 127> myarray;
myarray.fill(0);
int size = s.size();
if(size == 1)
return 0;
int ret = -1;
int i = 0;
int j = 0;
for(i = 0; i < size; i++)
{
if( myarray[s[i]] == 0)
{
for(j = i + 1; j < size; j++)
{
if((s[i] ^ s[j]) == 0)
break;
}
if(j < size)
{
myarray[s[i]] = 1;
continue;
}
else
{
ret = i ;
break;
}
}
}
return ret;
}
};