初级算法探索——字符串篇(三)
程序员文章站
2022-05-01 14:24:25
...
问题:字符串中的第一个唯一字符
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = "leetcode"
返回 0.
s = "loveleetcode",
返回 2.
注意事项:您可以假定该字符串只包含小写字母。
js解决办法:
/**
* @param {string} s
* @return {number}
*/
// 思路:使用hashmap存储遍历字符的字符串,重复进行标记,然后遍历map中,找出index最小的不重复元素
var firstUniqChar = function(s) {
var sameMap = {};
for (var i = 0; i < s.length; i++) {
var str = s.substr(i,1);
if (sameMap[str] != null) {
sameMap[str] = "multi";
} else {
sameMap[str] = i;
}
}
var index = -1;
for (var key in sameMap) {
if (sameMap[key] != null && sameMap[key] != "multi") {
if (index == -1 || index > sameMap[key]) {
index = sameMap[key];
}
}
}
return index;
};
运行结果截图:
执行耗时:
上一篇: 手挺好看的~