You need to write a function, that returns the first non-repeated character in the given string.

For example for string `"test"` function should return `'e'`.  
For string `"teeter"` function should return `'r'`.  
  
If a string contains all unique characters, then return just the first character of the string.  
Example: for input `"trend"` function should return `'t'`  
  
You can assume, that the input string has always non-zero length.

If there is no repeating character, return `null` in JS or Java, and `None` in Python.

Source: codewars | Difficulty: EASY
Tags: String algorithms

Fundamentals

Starter code: def first_non_repeated(s):
	

Solutions:
def first_non_repeated(s):
	return next((c for c in s if s.count(c) == 1), None)


def first_non_repeated(s):
	for c in s:
		if s.count(c) == 1:
			return c


from collections import Counter

def first_non_repeated(s):
	return next((k for (k, v) in Counter(s).items() if v == 1), None)


def first_non_repeated(string):
	for i in range(len(string.upper())):
		e = string[i]
		if string.lower().count(e) == 1:
			return e
	return None


def first_non_repeated(s):
	print(s)
	return next((i for i in s if s.count(i) == 1), None)


def first_non_repeated(s):
	for a in s:
		if s.count(a) == 1:
			return a
	return None


def first_non_repeated(s):
	return next((x for x in s if s.count(x) == 1), None)


def first_non_repeated(s):
	for character in s:
		if s.count(character) == 1:
			return character
			break


def first_non_repeated(s):
	for el in s:
		if s.count(el) == 1:
			return el


def first_non_repeated(s):
	sets = (unique, repeated) = (set(), set())
	for c in s:
		sets[c in unique].add(c)
	return next((c for c in s if c not in repeated), None)