题目
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
示例 1:
输入:s = “abaccdeff”
输出:‘b’
解题思路
- 遍历数组,统计字符出现的次数
- 可以使用哈希表、队列、数组等多种数据结构统计
- 字符串中只包含小写字母,可使用长度为26的数组统计
- 返回第一个只出现一次的字符
代码
class Solution {
public char firstUniqChar(String s) {
char ans = ' ';
int[] chars = new int[26];
for (char c : s.toCharArray()) chars[c - 'a'] += 1;
for (char c : s.toCharArray()) if (chars[c - 'a'] == 1) return c;
return ans;
}
}