剑指offer面试题55 字符流中第一个不重复的字符(Java实现)
来源:互联网 发布:淘宝评分低怎么办 编辑:程序博客网 时间:2024/05/29 10:12
解题思路:
利用一个哈希表来存放字符出现的次数,键为char,值为字符出现的次数,同时利用一个集合ArrayList来存放每个出现的字符,用于在后续遍历时取到每一个字符
import java.util.ArrayList;import java.util.LinkedHashMap;public class Solution {//创建一个哈希表,用于存放字符流中每个字符出现的次数LinkedHashMap<Character, Integer> linkedHashMap = new LinkedHashMap<>();ArrayList<Character> arrayList = new ArrayList<>();//Insert one char from stringstreampublic void Insert(char ch) {if (linkedHashMap.containsKey(ch)) {Integer value = linkedHashMap.get(ch);value++;linkedHashMap.put(ch, value);} else {linkedHashMap.put(ch, 1);}arrayList.add(ch);}// return the first appearence once char in current stringstreampublic char FirstAppearingOnce() {for (int i = 0 ; i < arrayList.size(); i++) {Character ch = arrayList.get(i);if (linkedHashMap.get(ch) == 1) {return ch;}}return '#';}}
阅读全文
0 0
- 剑指Offer面试题55:字符流中第一个不重复的字符 Java实现
- 剑指offer面试题55 字符流中第一个不重复的字符(Java实现)
- 《剑指Offer》学习笔记--面试题55:字符流中第一个不重复的字符
- 【剑指Offer学习】【面试题55:字符流中第一个不重复的字符】
- 剑指offer-面试题55:字符流中第一个不重复的字符
- 《剑指Offer》面试题55:字符流中第一个不重复的字符
- 剑指offer--面试题55:字符流中第一个不重复的字符
- 剑指offer-面试题55-字符流中第一个不重复的字符
- 剑指offer 面试题55 字符流中第一个不重复的字符
- 【剑指Offer】面试题55:字符流中第一个不重复的字符
- 剑指offer——面试题55:字符流中第一个不重复的字符
- 剑指offer 面试题55 字符流中第一个不重复的字符(push_back+resize出问题)
- 剑指offer----字符流中第一个不重复的字符----java实现
- 剑指offer_面试题55_字符流中第一个不重复的字符 *
- 面试题55:字符流中第一个不重复的字符
- 面试题55:字符流中第一个不重复的字符
- 剑指offer------字符流中第一个不重复的字符(java版)
- 剑指offer 55-字符流中第一个不重复的字符
- LA 2963
- 比较排序算法总结
- pom.xml引入jar包:jar包artifactId查询方法
- 日期加月份
- imx6设备树pinctrl解析
- 剑指offer面试题55 字符流中第一个不重复的字符(Java实现)
- jQuery中$.fn的用法
- Digit Generator 生成元(P52) / UVA
- CSS学习-@font-face属性
- 奖金计算
- Linux 与 Windows 的设备驱动模型对比:架构、API 和开发环境比较
- S3C2440时钟系统
- C 中typedef 函数指针的使用
- Windows socket之IOCP实例----IOCP开发驾照理论考试系统