面试题50. 第一个只出现一次的字符(JavaScript实现)----------在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。

一、题目描述

在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。

二、实例

s = “abaccdeff”
返回 “b”
s = “”
返回 " "

三、思路

使用map数据结构,key为字符,value为次数,先用循环放进去,再用循环依次判断value== 1 的字符,并输出

四、代码

/**
 * @param {string} s
 * @return {character}
 */
var firstUniqChar = function(s) {
    if(s.length ==0){
        return  " "; 
    }
    var map = {}
    for(let i = 0 ; i < s.length ; i++){
        var charX = s[i]
        if(!map[charX]){
            map[charX] = 1
        }else{
            map[charX]++
        }
    }

    for(var j = 0 ; j < s.length ; j++){
        var charY = s[j]
        if(map[charY] == 1){
            return charY;
        }
    }
    return ' '
          
        
};

五、结果

面试题50. 第一个只出现一次的字符(JavaScript实现)----------在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。_第1张图片

你可能感兴趣的:(面试,算法,前端)