题目描述:
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
思路:
你可以记录小写26个字母的字典,统计每一个字母出现的次数。如果说发现了就出现了一次的字符,则返回该字符即可
public static char firstUniqChar(String s) {
if (s.equals("")) return ' ';
//创建一个a - z的字典
int[] target = new int[26];
for (int i=0;i<s.length();i++){
target[s.charAt(i) - 'a']++;
}
//第二次遍历,从字典数组获取次数
for (int i = 0; i < s.length(); i++) {
if (target[s.charAt(i) - 'a'] == 1) return s.charAt(i);
}
return ' ';
}