find the first non-repeating character in a given string