leetcode 字符串中的第一个唯一字符

匿名 (未验证) 提交于 2019-12-02 22:56:40

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -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; };

原文:https://www.cnblogs.com/sbzy/p/9383057.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!