51.字符串中第一个只出现一次的字符

在字符串中找出第一个只出现一次的字符。

如输入"abaccdeff",则输出b。

如果字符串中不存在只出现一次的字符,返回 # 字符。

数据范围:
输入字符串长度 [0,1000]。

样例:

输入:"abaccdeff"
输出:'b'

代码:

class Solution {
    public char firstNotRepeatingChar(String s) {
        //使用HashMap统计每个字符的出现次数
        Map<Character,Integer>mp = new HashMap<>();
        //第一次遍历,统计每个字符出现频率
        for(char c:s.toCharArray())mp.put(c,mp.getOrDefault(c,0)+1);
        //第二次遍历,找到第一个出现频率为1的字符,直接返回
        for(char c:s.toCharArray())if(mp.get(c)==1)return c;
        //如果没有找到,则返回'#'
        return '#';
    }
}
posted @ 2025-05-29 10:42  回忆、少年  阅读(33)  评论(0)    收藏  举报