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

//哈希表
class Solution {
    public char firstUniqChar(String s) {
        //定义一个HashMap,来保存字符出现的次数
        Map<Character,Boolean> map = new HashMap<>();
        char[] chars = s.toCharArray();

        //字符c首次出现 标记为true,之后无论出现几次,都标记为false
        for(char c : chars){
            map.put(c,!map.containsKey(c));
        }
        for(char c : chars){
            //如果标记为true,说明是出现一次的字符
            if(map.get(c)){
                return c;
            }
        }
        return ' ';
    }
}

 

posted @ 2020-12-16 21:12  peanut_zh  阅读(56)  评论(0编辑  收藏  举报