在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母
解题思路
ASCII码一共256个, 用数组保存字符出现的次数
遍历字符, 更新数组中记录的次数
再次遍历, 返回次数为1的字符
代码
class Solution {
public char firstUniqChar(String s) {
// ASCII码一共256个, 用数组保存字符出现的次数
int[] count = new int[256];
char[] chars = s.toCharArray();
// 遍历字符, 更新数组中记录的次数
for (char ch : chars) {
count[ch]++;
}
// 再次遍历, 返回次数为1的字符
for (char ch : chars) {
if (count[ch] == 1) {
return ch;
}
}
return ' ';
}
}