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


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

解题思路

两次循环,第一次记录出现数字,第二次找出第一个数字为1的。

代码

class Solution {
    public char firstUniqChar(String s) {
        HashMap<Character, Boolean> map = new HashMap<>();
        char[] sc = s.toCharArray();
        for (char item : sc) {
            if (!map.containsKey(item)) {
                map.put(item, true);//出现次数为1次
            } else {
                map.put(item, false);//出现次数大于1次
            }
        }
        //找出第一个次数为1的数
        for (char item : sc) {
            if (map.get(item)) {
                return item;
            }
        }
        return ' ';
    }
}

文章作者: fFee-ops
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fFee-ops !
评论
  目录