mirror of
https://github.com/prdlk/leetcode.git
synced 2026-09-17 15:36:26 +00:00
55 lines
985 B
Python
55 lines
985 B
Python
"""
|
|||
|
|
387. First Unique Character in a String
|
||
|
|
Difficulty: Easy
|
||
|
|
https://leetcode.com/problems/first-unique-character-in-a-string/
|
||
|
|
|
||
|
|
──────────────────────────────────────────────────
|
||
|
|
|
||
|
|
Given a string s, find the first non-repeating character in it and
|
||
|
|
return its index. If it does not exist, return -1.
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
Example 1:
|
||
|
|
|
||
|
|
Input: s = "leetcode"
|
||
|
|
|
||
|
|
Output: 0
|
||
|
|
|
||
|
|
Explanation:
|
||
|
|
|
||
|
|
The character 'l' at index 0 is the first character that does not
|
||
|
|
occur at any other index.
|
||
|
|
|
||
|
|
Example 2:
|
||
|
|
|
||
|
|
Input: s = "loveleetcode"
|
||
|
|
|
||
|
|
Output: 2
|
||
|
|
|
||
|
|
Example 3:
|
||
|
|
|
||
|
|
Input: s = "aabb"
|
||
|
|
|
||
|
|
Output: -1
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
Constraints:
|
||
|
|
|
||
|
|
• 1 <= s.length <= 10^5
|
||
|
|
|
||
|
|
• s consists of only lowercase English letters.
|
||
|
|
"""
|
||
|
|
|
||
|
|
from collections import Counter
|
||
|
|
|
||
|
|
|
||
|
|
class Solution:
|
||
|
|
def firstUniqChar(self, s: str) -> int:
|
||
|
|
map = Counter(s)
|
||
|
|
for i, c in enumerate(s):
|
||
|
|
if map[c] == 1:
|
||
|
|
return i
|
||
|
|
return -1
|