在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
示例:
s = “abaccdeff”
返回 “b”
s = “”
返回 " "
限制:
0 <= s 的长度 <= 50000
思路分析:有序哈希表
可以把整个字符串以字符为Key,出现的次数为Value,存入哈希表中。有序哈希表中的键值对是 按照插入顺序排序 的。基于此,可通过遍历有序哈希表,实现搜索首个 “数量为 1 的字符”。
Java代码如下:
public char firstUniqChar(String s) {
LinkedHashMap<Character,Integer> map = new LinkedHashMap<>();
for (char c : s.toCharArray()) {