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 '#';
}
}

浙公网安备 33010602011771号