【leetcode_C++_string】387.字符串中的第一个唯一字符

文章目录

1.题目

给定一个字符串 s ,找到它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1 。

示例 1:

输入: s = "leetcode"

输出: 0

示例 2:

输入: s = "loveleetcode"

输出: 2

示例 3:

输入: s = "aabb"

输出: -1

提示:

  • 1 <= s.length <= 105
  • s 只包含小写字母

2.题解

cpp 复制代码
class Solution {
public:
    int firstUniqChar(string s) {
        int size = s.size();

        //建立一个数组,用于统计每个字符出现的次数
        int count[256] = {0};//虽然只有26个字符,
        //但是这26个字符的ascall的值可不是0-26 所以需要空间256个

        //统计每个字符出现的次数
        for(int i = 0; i < size; i++)
        {
            count[s[i]] += 1;
        }

        //找第一个只出现一次的字符
        for(int i = 0; i < size; i++)
        {
            if (count[s[i]] == 1)
            return i; 
        }
        return -1;
    }
};
相关推荐
mit6.8244 小时前
Xai架构
算法
WBluuue4 小时前
Codeforces 1078 Div2(ABCDEF1)
c++·算法
学无止境_永不停歇4 小时前
十、C++多态
开发语言·c++
寻星探路5 小时前
【JVM 终极通关指南】万字长文从底层到实战全维度深度拆解 Java 虚拟机
java·开发语言·jvm·人工智能·python·算法·ai
老歌老听老掉牙5 小时前
QT开发踩坑记:按钮点击一次却触发两次?深入解析信号槽自动连接机制
c++·qt
田里的水稻5 小时前
FA_融合和滤波(FF)-联邦滤波(FKF)
人工智能·算法·数学建模·机器人·自动驾驶
橘色的喵5 小时前
现代 C++17 相比 C 的不可替代优势
c语言·c++·现代c++·c++17
紫陌涵光5 小时前
112. 路径总和
java·前端·算法
浅念-5 小时前
C/C++内存管理
c语言·开发语言·c++·经验分享·笔记·学习
回敲代码的猴子6 小时前
2月8日上机
开发语言·c++·算法