第一个只出现一次的字符(简单难度)

简介: 第一个只出现一次的字符(简单难度)

题目概述(简单难度)

2.png


题目链接:

第一个只出现一次的字符


思路与代码

思路展现

这道题目的思路也非常的经典,就是使用我们的map集合,然后map集合value值存储的是我们的boolean值,因为假设字符串s中的字符出现了两次以及超过两次,那么这个字符最终的boolean值就一定是false,不是true,而只有出现一次的字符的boolean值始终为true.


代码示例

class Solution {
    public char firstUniqChar(String s) {
        HashMap<Character, Boolean> dic = new HashMap<>();
        char[] sc = s.toCharArray();
        for(char c : sc) {
            dic.put(c, !dic.containsKey(c));
        }
        for(char c : sc) {
           //第一个只出现一次的字符的boolean值一定为true
            if(dic.get(c)) {
               return c;
            }
        }
        //如果没有,返回一个单空格
        return ' ';
    }
}

总结

2.png

相关文章
|
1月前
字符串,每个里面包含0-N个数字,如3,8,2,编写函数,将两个这样的字符串合并,并且输出的字符串里面没有重复的数字,并从大到小排列.
字符串,每个里面包含0-N个数字,如3,8,2,编写函数,将两个这样的字符串合并,并且输出的字符串里面没有重复的数字,并从大到小排列.
21 0
|
2月前
正则表达前一个元素至少出现一次
正则表达前一个元素至少出现一次
34 4
LeetCode第三题 “无重复字符的最长子串” 从低效率到高效率
LeetCode第三题 “无重复字符的最长子串” 从低效率到高效率
|
算法
如何在不把数字转为字符串的前提下反转数字
算法问题:如何在不把数字转为字符串的前提下反转数字
52 0
【读者来稿】在一串长序列中查找特定短序列
【读者来稿】在一串长序列中查找特定短序列
69 0
|
存储 Rust 自然语言处理
【算法】3. 无重复字符的最长子串(多语言实现)
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
字符串中的单词数(简单难度)
字符串中的单词数(简单难度)
57 0
字符串中的单词数(简单难度)
无重复字符的最长子串(中等难度)
无重复字符的最长子串(中等难度)
58 1
无重复字符的最长子串(中等难度)
|
算法 索引
数组中重复的数字(简单难度)
数组中重复的数字(简单难度)
64 0
数组中重复的数字(简单难度)
每日三题-无重复字符的最长子串、最长连续序列、找到字符串中所有字母异位词
每日三题 无重复字符的最长子串 最长连续序列 找到字符串中所有字母异位词
73 1
每日三题-无重复字符的最长子串、最长连续序列、找到字符串中所有字母异位词