题解 | #字符流中第一个不重复的字符#使用哈希表解决

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

https://www.nowcoder.com/practice/00de97733b8e4f97a3fb5c680ee10720

import java.util.*;
public class Solution {
    //LinkedHashMap 会保证数据插入的顺序
    //而HashMap不会保证数据插入的顺序,所以这里使用LinkedHashMap
    Map<Character, Integer> map = new LinkedHashMap<>();

    //记录每个字符出现次数
    public void Insert(char ch) {
        int count = map.getOrDefault(ch, 0);
        map.put(ch, count + 1);
    }

    //因为是LinkedHashMap,所以会保证插入的顺序,只需要遍历整个map,找到只出现一次的即可
    public char FirstAppearingOnce() {
        char res = '#';
        for (Character c : map.keySet()) {
            if (map.get(c) == 1) {
                res = c;
                break;
            }
        }
        return res;
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务