1. 题目描述
题目链接:387. 字符串中的第一个唯一字符
2. 解题思路
定义一个存储 26 个元素的数组,用来统计 26 个字母在字符串中出现的次数。
然后再遍历一次字符串,寻找字符串中第一个只出现一次的字母,并返回它的索引,若不存在,则返回 -1。
3. 代码实现
代码示例
class Solution {
public:
int firstUniqChar(string s) {
int count[26] = { 0 };
//统计26个字母在字符串中出现的次数
for (auto ch : s) {
count[ch - 'a']++;
}
//寻找字符串中的第一个只出现一次字母
for (int i = 0; i < s.size(); ++i) {
if (count[s[i] - 'a'] == 1) {
return i;
}
}
return -1; //不存在则返回-1
}
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/80839.html