LeetCode 387 First Unique Character in a String
#include <string>
#include <vector>
using namespace std;
class Solution {
public:
int firstUniqChar(string s) {
vector <int> abc(26);//长度26的vector,代表a-z26个字母,用于统计词频
//两个复杂度为O(n)的循环即可完成,先统计词频,再从头扫描字符串,找到第一个
for (int i = 0; i < s.size(); i++)
{
abc[s[i] - 'a'] ++;//统计每个字母的词频
}
for (int i = 0; i < s.size(); i++)
{
if (abc[s[i]-'a'] == 1)
return i;//找出第一个,所以直接return
}
return -1;
}
};