一、题目内容
二、题解
解法1:
思路
字典,linkedhashmap有序存储
代码
class Solution { public char firstUniqChar(String s) { Map<Character,Boolean> dic = new LinkedHashMap<Character,Boolean>(); char[] charArr = s.toCharArray(); for(char c:charArr){ dic.put(c,!dic.containsKey(c)); } for(Map.Entry<Character, Boolean> d : dic.entrySet()){ if(d.getValue()){ return d.getKey(); } } return ' '; }}
解法2:
思路
字典,hashmap存储,遍历字符串找第一个
代码
class Solution { public char firstUniqChar(String s) { Map<Character,Integer> dic = new HashMap<Character,Integer>(); char[] charArr = s.toCharArray(); for(char c:charArr){ if(dic.containsKey(c)){ dic.put(c,dic.get(c)+1); }else{ dic.put(c,1); } } for(char c:charArr){ if(dic.get(c)==1){ return c; } } return ' '; }}