免费成品网站模板下载外链link
LeetCode|Day16|387. 字符串中的第一个唯一字符|Python刷题笔记
🗓️ 本文属于【LeetCode 简单题百日计划】系列
👉 点击查看系列总目录 >>
📌 题目简介
题号:387. 字符串中的第一个唯一字符
难度:简单
题目链接:点击跳转
🧾 题目描述(简要)
给定一个字符串 s
,找到第一个不重复字符的索引。如果不存在,返回 -1
。
示例:
输入:s = "leetcode"
输出:0输入:s = "loveleetcode"
输出:2
💡 解法:哈希表统计频次 + 遍历查找
class Solution:def firstUniqChar(self, s: str) -> int:from collections import Countercount = Counter(s)for i, ch in enumerate(s):if count[ch] == 1:return ireturn -1
🧠 我的理解
- 使用
Counter
统计每个字符出现的次数; - 然后按原始顺序遍历字符串,找到第一个频次为 1 的字符;
- 时间复杂度 O(n),空间复杂度 O(1)(因为只有 26 个字母)。
📌 基础语法复习:
collections.Counter
:统计字符串频次;enumerate(s)
:同时拿到下标和字符;- 条件判断
if count[ch] == 1
。