题解 | #字符流中第一个不重复的字符#使用哈希表解决
字符流中第一个不重复的字符
https://www.nowcoder.com/practice/00de97733b8e4f97a3fb5c680ee10720
import java.util.*;
public class Solution {
//LinkedHashMap 会保证数据插入的顺序
//而HashMap不会保证数据插入的顺序,所以这里使用LinkedHashMap
Map<Character, Integer> map = new LinkedHashMap<>();
//记录每个字符出现次数
public void Insert(char ch) {
int count = map.getOrDefault(ch, 0);
map.put(ch, count + 1);
}
//因为是LinkedHashMap,所以会保证插入的顺序,只需要遍历整个map,找到只出现一次的即可
public char FirstAppearingOnce() {
char res = '#';
for (Character c : map.keySet()) {
if (map.get(c) == 1) {
res = c;
break;
}
}
return res;
}
}
查看11道真题和解析