哈哈哈,get了一个技巧,终于不要既存位置有存出现次数了,直接使用 LinkedHashMap 即可。
import java.util.HashMap; import java.util.LinkedHashMap; public class Solution { //Insert one char from stringstream HashMap map = new LinkedHashMap();//有序的hashmap public void Insert(char ch) { map.put(ch, map.getOrDefault(ch,0)+1); } //return the first appearence once char in current stringstream public char FirstAppearingOnce() { for(Character ch:map.keySet()) { if(map.get(ch)==1) { return ch; } } return '#'; } }