【剑指offer】第一个只出现一次的字符
题目
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
我的答案
/**
* @param {string} s
* @return {character}
*/
var firstUniqChar = function (s) {
const countMap = new Map();
for (i = 0; i < s.length; i++) {
countMap.set(s[i], countMap.get(s[i]) + 1 || 1);
}
for (i = 0; i < s.length; i++) {
if (countMap.get(s[i]) === 1) {
return s[i];
}
}
return " ";
};
这方法就是利用map去存某个字母在字符串中出现的次数。然后再循环一遍,找出只出现一次的字母。这个方法两遍循环。
还有一个方法就是在第一遍循环里面找当前字母的lastIndexof。
标题:【剑指offer】第一个只出现一次的字符
作者:limanting
地址:https://blog.manxiaozhi.com/articles/2021/08/29/1630220394412.html