[编程题]字符流中第一个不重复的字符

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

http://www.nowcoder.com/questionTerminal/00de97733b8e4f97a3fb5c680ee10720

import java.lang.StringBuffer;
public class Solution {
    //Insert one char from stringstream
    //存储字符流
    StringBuffer string=new StringBuffer();
    //存储字符和出现的次数,数组的索引表示字符,值表示出现的次数
    //Java中的一个字符的大小为两个字节
    //因为一个字符的十进制大小的范围为:0-127;
    int[] charNum=new int[128]; 
    public void Insert(char ch)
    {
        string.append(ch);
        charNum[ch]++;
    }
  //return the first appearence once char in current stringstream
    public char FirstAppearingOnce()
    {
        String str=String.valueOf(string);
        //遍历字符流
        for(int i=0;i<str.length();i++){
            if(charNum[str.charAt(i)]==1){
                return str.charAt(i);
            }
        }
        return '#';
    }
}
全部评论

相关推荐

面试摇了我吧:啊哈哈面试提前五个小时发,点击不能参加就是放弃
点赞 评论 收藏
分享
10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务