思路:一个字母出现的次数大于 1 次就不符合要求了,这个时候使用 Fasle 标记状态相对于 Integer 的不断递增更合理,也更省空间。
public char firstUniqChar(String s){
Map<Character,Boolean> dic=new HashMap<>();
char[] array=s.toCharArray();
for(char c:array){
dic.put(c,!dic.containsKey(c));
}
for(char c:array){
if(dic.get(c)) return c;
}
return ' ';
}