1.题目链接
2.解题思路
利用计数排序的思想 映射进行计数 最后计数为1的那个字符就是唯一字符 从前往后遍历 可以得到
第一个唯一字符
3.代码
class Solution {
public:
int firstUniqChar(string s) {
//使用映射的方式统计次数 计数排序思想
int count[26] = { 0 };
for (auto ch : s)
{
count[ch - 'a']++;
}
for (size_t i = 0; i < s.size(); ++i)
{
if (count[s[i] - 'a'] == 1)
return i;
}
return -1;
}
};
4.运行结果

【C++ OJ练习】4.字符串中的第一个唯一字符 完
该篇内容介绍了如何利用计数排序的思想在C++中解决力扣(LeetCode)上的一个问题,即找出字符串中的第一个唯一字符。通过遍历字符串并使用哈希表统计每个字符出现的次数,然后再次遍历找到第一个计数为1的字符,返回其索引。如果所有字符都重复,返回-1。
6870

被折叠的 条评论
为什么被折叠?



