Leetcode - First Unique Character in a String Solution

Given a string s, return 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

Example 2:

Input: s = "loveleetcode"
Output: 2

Example 3:

Input: s = "aabb"
Output: -1


  • 1 <= s.length <= 105
  • s consists of only lowercase English letters.

Solution in Python

from collections import Counter
class Solution:
    def firstUniqChar(self, s: str) -> int:
        count = Counter(s)
        unique_chars = {x for x,y in count.items() if y==1}
        for i in range(len(s)):
            if s[i] in unique_chars:
                return i
            return -1