① 知识点:字符的ascii码范围,十进制: 0 ~ 255; char类型可以隐式强制转换成int类型。
② 构造哈希表,记录字符出现次数。
Java 版:
publicclassSolution{private StringBuilder sb =newStringBuilder();//构造哈希表,记录字符出现次数privateint[] hashTable =newint[256];//Insert one char from stringstreampublicvoidInsert(char ch){
sb.append(ch);
hashTable[ch]+=1;//此处有个隐式的强制类型转换,char转int(ascii码值)}//return the first appearence once char in current stringstreampubliccharFirstAppearingOnce(){char[] temp = sb.toString().toCharArray();for(char c : temp){if(hashTable[c]==1)return c;}return'#';}}