zoukankan      html  css  js  c++  java
  • 剑指Offer(Java版)第六十题:请实现一个函数用来找出字符流中第一个只出现一次的字符。 例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。 当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。

    /*
    请实现一个函数用来找出字符流中第一个只出现一次的字符。
    例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。
    当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。
    */
    //输出描述:
    //如果当前字符流没有存在出现一次的字符,返回#字符。

    import java.util.*;

    public class Class60 {

    StringBuffer sb = new StringBuffer();

    public void Insert(char ch){
    sb.append(ch);
    }

    public char firstAppearingOnce(){
    char[] charArray = sb.toString().toCharArray();
    HashMap<Character,Integer> map = new HashMap<Character,Integer>();
    int count;
    for(int i = 0; i < charArray.length; i++){
    if(map.containsKey(charArray[i])){
    count = map.get(charArray[i]);
    map.put(charArray[i], ++count);
    }else{
    map.put(charArray[i], i);
    }
    }
    for(int i = 0; i < charArray.length; i++){
    if(map.get(charArray[i]) == 1){
    return charArray[i];
    }
    }
    return '#';
    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub

    }

    }

  • 相关阅读:
    hashmap
    Java log
    内存映像
    Java 类加载器
    keepalived配虚拟ip(vip)的作用
    zookeeper和keepalived的区别
    Linux修改/etc/profile配置错误command is not found自救方法
    在windows上部署使用Redis
    Nginx+Tomcat安装与配置(windows版)
    Tomcat+Redis+Nginx实现session共享(Windows版)
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12548602.html
Copyright © 2011-2022 走看看