题目描述:
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
示例:
s = “abaccdeff”
返回 “b”
s = “”
返回 " "
限制:
0 <= s 的长度 <= 50000
JAVA代码如下:
class Solution {
public char firstUniqChar(String s) {
HashMap<Character, Integer> map = new LinkedHashMap<>();
int n = s.length();
char c=' ';
for (char ch : s.toCharArray()) {
map.put(ch, map.getOrDefault(ch, 0) + 1);
}
for (var entry : map.entrySet()) {
if(entry.getValue()==1){
c=entry.getKey();
break;
}
}
return c;
}
}
class Solution {
public char firstUniqChar(String s) {
HashMap<Character, Integer> map = new LinkedHashMap<>();
int n = s.length();
char c=' ';
for (char ch : s.toCharArray()) {
map.put(ch, map.getOrDefault(ch, 0) + 1);
}
for (Character key : map.keySet()) {
Integer v = map.get(key);
if (v == 1) {
c = key;
break;
}
}
return c;
}
}
执行结果: