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

第一个只出现一次的字符

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

JavaScript

  • 解法一:
    创建一个obj,然后同过一个for循环将字符串的每个字符存进去,如果存的这个字符为undefined(还没存进去),则将其置为1,否则+=1。
    接着再次for循环字符串将每个字符在obj中寻找,若值为1,则返回位置,找不到则返回-1。
    function FirstNotRepeatingChar(str)
    {
      let obj={};
      for(let i = 0; i<str.length; i++){
          let key = str.charAt(i)
          if(obj[key] == undefined){
              obj[key] = 1;
          }else{
              obj[key] += 1;
          }
      }
      for(let j=0; j<str.length;j++){
          let k = str.charAt(j);
          if(obj[k] == 1){
              return j
          }
      }
      return -1;
    }
牛客算法题 文章被收录于专栏

牛客算法题记录

全部评论

相关推荐

11-08 16:53
门头沟学院 C++
投票
滑模小马达:第三个如果是qfqc感觉还行,我签的qfkj搞电机的,违约金也很高,但公司感觉还可以,听说之前开过一个试用转正的应届生,仅供参考。
点赞 评论 收藏
分享
M_bao:换个排版吧哥们,看着费劲
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务