zoukankan      html  css  js  c++  java
  • 字符流中第一个不重复的字符

    题目描述

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

    输出描述:

    如果当前字符流没有存在出现一次的字符,返回#字符。


    //可以申请一个256大小的数组来实现一个简易的哈希表。时间复杂度为O(n),空间复杂度O(n).
    
    public class Solution {
        private int[] hash = new int[256];
        StringBuffer s = new StringBuffer();
        //Insert one char from stringstream
        public void Insert(char ch)
        {
            s.append(ch);
            hash[ch] += 1;
        }
      //return the first appearence once char in current stringstream
        public char FirstAppearingOnce()
        {
            for(int i = 0; i<s.length(); i++) {
                if(hash[s.charAt(i)] == 1) return s.charAt(i);
            }
            return '#';
        }
    }
  • 相关阅读:
    Zookeeper zkCli.sh常用命令
    windows 服务
    Zookeeper的下载安装
    Zookeeper 基础知识
    在Java中使用Redis
    Redis 集群(cluster)
    Redis 哨兵(Sentinel)机制
    Redis 主从复制
    Redis 发布/订阅
    Redis 事务
  • 原文地址:https://www.cnblogs.com/yihangZhou/p/10508020.html
Copyright © 2011-2022 走看看