当前位置: 首页 > news >正文

LeetCode刷题---哈希表---387

字符串中的第一个唯一字符

387. 字符串中的第一个唯一字符 - 力扣(LeetCode)

题目:

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

示例 1:

输入: s = "leetcode"
输出: 0

示例 2:

输入: s = "loveleetcode"
输出: 2

示例 3:

输入: s = "aabb"
输出: -1

提示:

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

自己的思路和代码:

思路:

        我们可以对字符串进行两次遍历。

        在第一次遍历时,我们使用哈希映射统计出字符串中每个字符出现的次数。在第二次遍历时,我们只要遍历到了一个只出现一次的字符,那么就返回它的索引,否则在遍历结束后返回 −1。

代码:
class Solution {
public:
    int firstUniqChar(string s) {
        unordered_map<char, int> count;

        for (char c : s) {
            count[c]++;
        }

        for (int i = 0; i < s.size(); i++) {
            if (count[s[i]] == 1) {
                return i;
            }
        }

        return -1;  
    }
};

http://www.dtcms.com/a/22714.html

相关文章:

  • 【机器学习】线性回归 多元线性回归
  • 【嵌入式Linux应用开发基础】fork()函数
  • vue事件修饰符的实现
  • 作用域链精讲
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_save_argv函数
  • docker下部署kong+consul+konga 报错问题处理
  • 蓝桥杯班级活动
  • Springboot集成Spring AI和Milvus,验证RAG构建过程
  • 【Java线程中断】线程中断后为什么要调用interrupt()?
  • 超低失真、超高清晰度的远心工业镜头
  • 20250217-POMO笔记
  • STM32 CubeMx配置串口收发使用DMA并调用Idle模式(二)
  • 详解CountDownlatch
  • MaxKB + Ollama + DeepSeek本地部署
  • 输入网址到网页显示,发生了什么?
  • 人工智能框架:连接理论与实践的桥梁
  • VAS1260IB05E 集成内部开关驱动器的汽车级LED硬灯带高效解决方案
  • Gentleman:优雅的Go语言HTTP客户端工具包
  • 【GESP】2024年12月图形化一级 -- 火箭回收
  • Anchor-Based 与 Anchor-Free
  • 通过VSCode直接连接使用 GPT的编程助手
  • python003-python电影数据分析及可视化系统建设(源码+数据库+部署讲解等)
  • iOS开发书籍推荐 - 《高性能 iOS应用开发》(附带链接)
  • 深度求索-DeepSeek-R1本地部署指南
  • UART(一)——UART基础
  • 遥感影像目标检测:从CNN(Faster-RCNN)到Transformer(DETR)
  • 第3章 .NETCore核心基础组件:3.1 .NET Core依赖注入
  • 申论对策建议类【2022江苏B卷第一题“如何开展网络直播”】
  • OpenCV图像基本操作
  • 期权帮|股指期货的有效止盈止损策略?