解答:
int firstUniqChar(string s) {
int size = s.size();
// char count[26] = { 0 };// error.1
int count[26] = { 0 };
// for (int i = 0; i < s.size() - 1; i++) // error.2
for (int i = 0; i < size; i++)
{
count[s[i] - 'a'] += 1;
}
for (int i = 0; i < size; i++)
{
if (count[s[i] - 'a'] == 1)
{
return i;
}
}
return -1;
}
size()
返回字符串中有效元素个数,size() - 1
为最后一个有效元素的下标。- 题中 count[] 用于计数,其元素类型应该是
int
。