解答:
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
。