0%

第一个只出现一次的字符

在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).

哈希表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
public:
int FirstNotRepeatingChar(string str) {
array<int, 256> table = {0};
for (const char character: str)
{
table[character]++;
}
for (int i = 0; i < str.length(); i++)
{
if (table[str[i]] == 1)
{
return i;
}
}
return -1;
}
};