方法一:
使用indexOf Api,判断最初出现和最后出现位置是否一致,一致则直接输出。
否则输出空。
var firstUniqChar = function(s) {
for(let x of s){
if(s.indexOf(x) === s.lastIndexOf(x)) return x
}
return ' '
};
方法二:
使用map把值和出现次数映射,然后再找出第一个出现次数为1的值
/**
* @param {string} s
* @return {character}
*/
var firstUniqChar = function(s) {
const map = new Map()
let key, value
for(let i=0; i<s.length; i++) {
key = s.charAt(i)
value = 0
if (map.has(key)) {
value = map.get(key) + 1
}
map.set(key, value)
}
for(const [key, value] of map) {
if (value == 0) {
return key
}
}
return " "
};