目录
题目概述(简单难度)
题目链接:
第一个只出现一次的字符
思路与代码
思路展现
这道题目的思路也非常的经典,就是使用我们的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 ' ';
}
}