在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置

这道题有两种解法,一种是创建哈希表,另一种是直接利用JS的indexOf方法

  • 创建哈希表
function FirstNotRepeatingChar(str)
{
    var table={}
            for(var i=0;i<str.length;i++){
                //创建哈希表
                if(!table[str[i]]){
                    table[str[i]]=1
                }
                else{
                    table[str[i]]+=1
                }
            }
             //找到再哈希表中存在次数为1的元素  利用string的indexOf()方法找到并返回
            for(key in table){
                if(table[key]===1){
                    return(str.indexOf(key)) 
                }
            }
    return -1
}
  • 直接利用indexOf方法
function FirstNotRepeatingChar(str)
{
for(var i=0;i<str.length;i++){
    //JS中indexOf()方法第一个参数是要查找的元素,第二个参数是要查找的起始位置     if((str.indexOf(str[i],i+1)===-1)&&str.indexOf(str[i])===i){
                    return i
                }
            
            }
            return -1   
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,425评论 11 349
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,877评论 18 399
  • 青莲正盛,蝉鸣映多情。 桑枝似蓑翠竹更,桃花虽败犹荣。 笠翁日下喜作,小儿田边多乐。 胜得蛙声争欢,绝唱惜夜无闲。 无眠
    hei丶天亮了阅读 231评论 0 1
  • 次日,南晏龙率五千轻骑前往边境。 此次前往落霞关,李承璟拜南晏龙为平西大将军,诗民为军师,辅佐南晏龙驱逐西左。南晏...
    816868a77376阅读 546评论 0 0
  • 开放和尊重 在中国这个传统意义上的概念被提出和雕琢的当下时代中,复兴和意志的渴望落在现实层面上的是亮剑和地理位置的...
    a9ac3e50d244阅读 139评论 0 0