题目分析
给定一个字符串,找出该字符串中第一个不重复的字符,并返回其对应的下标。如果不存在,则返回-1。
解题思路
首先遍历字符串,统计每个字符出现的次数,然后在遍历字符串,找出第一个只出现一次的字符即可。
实现程序
int firstUniqChar(string s)
{
if (s.length() <= 0)
return -1;
vector<int> temp(256, 0);
// 统计每个字符出现次数
for (int i = 0; i < s.length(); i++)
{
temp[s[i] - '0']++;
}
// 找到第一个只出现一次的字符对应的下标
for (int i = 0; i < s.length(); i++)
{
if (temp[s[i] - '0'] == 1)
return i;
}
return -1;
}