387. 字符串中的第一个唯一字符 javascript
题目:
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
示例
s = "leetcode"
返回 0
s = "loveleetcode"
返回 2
代码1
- 将字符串都遍历一遍,统计次数并放入对象中,最后返回次数为1的index
var firstUniqChar = function(s) {
// 将字符串都遍历一遍,统计次数并放入对象中,最后返回次数为1的index
var obj = {}
var arr = s.split('')
for(var word of arr){
obj[word] = 0
}
for(var word of arr){
obj[word] +=1
}
for(var j in obj){
if(obj[j] == 1){
return arr.indexOf(j)
}
}
return -1
};

后来想了想,可以不用减去一次循环,于是就有了代码2
代码2
var firstUniqChar = function(s) {
// 将字符串都遍历一遍,统计次数并放入对象中,最后返回次数为1的index
var obj = {}
var arr = s.split('')
for(var word of arr){
if(word in obj)obj[word] +=1
else obj[word] = 1
}
for(var j in obj){
if(obj[j] == 1){
return arr.indexOf(j)
}
}
return -1
};

时间有所提高
学艺不精,还需努力💪
高考加油
博客探讨了如何使用JavaScript高效地找到字符串中的第一个不重复字符。提供了两种不同的实现方式,通过创建对象来统计字符出现次数,然后找到第一个出现次数为1的字符。这种方法提高了时间效率,适合字符串处理和算法优化的学习。

被折叠的 条评论
为什么被折叠?



