LC 0387 [E] First Unique Character in a String - ALawliet/algorithms GitHub Wiki

class Solution:
    def firstUniqChar(self, s: str) -> int:
        d = OrderedDict()
        for i, x in enumerate(s):
            if x in d:
                d[x].append(i)
            else:
                d[x] = [i]
                
        for k, v in d.items():
            if len(v) == 1:
                return v[0]
            
        return -1
    
    def firstUniqChar(self, s):
        alphabet = string.ascii_lowercase
        index = [s.index(l) for l in alphabet if s.count(l) == 1]
        return min(index) if len(index) > 0 else -1