剑指 Offer 50. 第一个只出现一次的字符

应该不用写啥。

也可以用有序哈希表LinkedHashMap,第二遍遍历哈希表。

剑指 Offer 50. 第一个只出现一次的字符

class Solution {
    public char firstUniqChar(String s) {
        Map<Character, Boolean> dic = new HashMap<>();
        char[] sc = s.toCharArray();
        //第一遍遍历,给hash表赋值,出现过多次value为False
        for(char c : sc)
            dic.put(c, !dic.containsKey(c));
        for(char c : sc)
        //第二次遍历字符数组,找到一个Value为True的字符返回
            if(dic.get(c))  return c;
        //不知道返回啥就看看返回类型
        return ' ';
    }
}

 

posted @ 2021-04-14 22:05  星予  阅读(26)  评论(0编辑  收藏  举报