内容
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = "leetcode"
返回 0.
s = "loveleetcode",
返回 2.
注意事项:您可以假定该字符串只包含小写字母。
思路
还是老套路,利用额外空间将字符都存进去,然后输出值为1的map属性在s中的位置。
代码
/**
* @param {string} s
* @return {number}
*/
var firstUniqChar = function (s) {
var map = {};
for (var i = 0; i < s.length; i++) {
if (map[s[i]] == null) {
map[s[i]] = 1;
} else {
map[s[i]] += 1;
}
}
for (var key in map) {
if (map[key] == 1) {
return s.indexOf(key)
}
}
s