题解 | #第一个只出现一次的字符#

第一个只出现一次的字符

https://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c

思路:用Map结构来存储结果,键名为字符,值为字符的索引。
在循环遍历中,判断Map结构中是否已经存在该字符,如果已经存在,就将该字符删除;如果不存在,就将该字符存入Map结构中。
循环结束,取出Map结构中所有的值(values),将第一个return。若Map结构为空,则return -1.
function FirstNotRepeatingChar(str)
{
    // write code here
    let count = new Map()
    for(let i = 0; i < str.length;i++){
        count.has(str[i])?count.delete(str[i]) : count.set(str[i],i)
    }
    if(count.size===0){
        return -1
    }else{
        return [...count.values()][0]
    }
}
module.exports = {
    FirstNotRepeatingChar : FirstNotRepeatingChar
};


全部评论

相关推荐

不愿透露姓名的神秘牛友
07-16 18:03
点赞 评论 收藏
分享
06-07 19:59
门头沟学院 C++
补药卡我啊😭:都快15年前的了还在11新特性
你的简历改到第几版了
点赞 评论 收藏
分享
06-20 21:22
已编辑
门头沟学院 Java
纯真的河老师在喝茶:答应了就跑啊,实习随便跑啊,别被pua了,md就是找个廉价劳动力,还平稳过度正式工,到时候跟你说没转正
点赞 评论 收藏
分享
07-15 16:52
已编辑
门头沟学院 Java
周五投的,流程今天结束
投递地平线等公司7个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务