zoukankan      html  css  js  c++  java
  • 387.字符串中的第一个唯一字符

    2020-04-14
    字符串中的第一个唯一字符

    给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。

    如果不存在,则返回 -1。

    题解:
    哈希表
    /**
     * @param {string} s
     * @return {number}
     */
    var firstUniqChar = function (s) {
      let hash = {}; // 哈希表
      s = s.split('');
      s.forEach((v, i) => { // 遍历s
        if (!hash[v]) { // 如果当前字符没出现过
          hash[v] = {}
          hash[v].num = 1; // 初始化出现次数为1
          hash[v].i = i; // 第一次出现的下标为i
        } else {
          hash[v].num++; // 如果已经出现过 自加1
        }
      })
      for (let key in hash) { // 遍历hash表 
        if (hash[key].num === 1) { // 找到第一个num为1的,返回存入的i
          return hash[key].i;
        }
      }
      return -1; // 如果哈希表里没有num为1的项 说明没有单独的字符出现 返回-1
    };
  • 相关阅读:
    PHP全栈学习笔记3
    PHP全栈学习笔记3
    JavaScript基础系列
    JavaScript基础系列
    Java语言
    Java语言
    HTML基础系列
    HTML基础系列
    PHP全栈从入门到精通1
    PHP全栈从入门到精通1
  • 原文地址:https://www.cnblogs.com/lanpang9661/p/12695712.html
Copyright © 2011-2022 走看看