387. 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

def firstUniqChar(self, s: str) -> int:
	repeated = set()
	d = {}
	for i, key in enumerate(s):
		if key not in repeated:
			d[key] = i
			repeated.add(key)
		else:
			if key in d:
				del d[key]
	res = list(d.values())
	
	if res:
		return res[0]
	else:
		return -1