Description
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 <= 105
- sconsists of only lowercase English letters.
Solution
Python3
class Solution:
    def firstUniqChar(self, s: str) -> int:
        A = [0] * 26
 
        for x in s:
            A[ord(x) - ord('a')] += 1
        
        for i, x in enumerate(s):
            if A[ord(x) - ord('a')] == 1:
                return i
        
        return -1