leetcode 字符串中的第一個唯一字符
阿新 • • 發佈:2018-07-28
for block ring javascrip 是個 給定 else param 返回
給定一個字符串,找到它的第一個不重復的字符,並返回它的索引。如果不存在,則返回 -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;
};
leetcode 字符串中的第一個唯一字符