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

    给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。

    案例:

    s = "leetcode"
    返回 0.
    s = "loveleetcode",
    返回 2.

    注意事项:您可以假定该字符串只包含小写字母。

    /**
     * @param {string} s
     * @return {number}
     */
    var firstUniqChar = function (s) {
        let len = s.length, obj = {};
        for (let i = 0; i !== len; i++) {
            if (obj[s[i]] === undefined) {
                obj[s[i]] = 0;
            } else {
                obj[s[i]]++;
            }
        }
        for (let key of Object.keys(obj)) {
            if (obj[key] === 0) {
                return s.indexOf(key);
            }
        }
        return -1;
    };
    

    我又想了好久,明明看上去好像是个比较简单的问题…
    然后看一眼大佬的解法,牛皮

    /**
     * @param {string} s
     * @return {number}
     */
    var firstUniqChar = function(s) {
         for (var i = 0; i < s.length; i++) {
            if (s.indexOf(s[i]) == i && s.indexOf(s[i], i + 1) == -1) {
              return i;
            }
          }
          return -1;
    };
    
  • 相关阅读:
    MVC ActionResult JsonResult
    xml文件
    使用socket实现聊天功能
    使用多线程完成Socket
    Socket编程
    U1总结
    多线程
    IO
    单例模式
    日期
  • 原文地址:https://www.cnblogs.com/sbzy/p/9383057.html
Copyright © 2011-2022 走看看