字符流中第一个不重复的字符

    技术2022-07-15  48

    题目描述: 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。

    char 类型一个byte,8位,直接选择字符的ASCII码值作为其数组索引。 flag数组标志出现次数.

    public class Demo02FirstCharAppear { int [] flag = new int [256]; char [] str = new char[256]; int count = 0; public void Insert(char ch){ str[count] = ch; count++; if(flag[ch] == 0){ flag[ch] = 1; } else{ flag[ch] = flag[ch] + 1; } } public char FirstAppearingOnce(){ char ch; for(int i = 0; i < count; i++){ ch = str[i]; if(flag[ch] == 1){ return ch; } } return '#'; } }
    Processed: 0.019, SQL: 9