给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
示例
s = “leetcode” 返回 0
s = “loveleetcode” 返回 2
题解
创建一个map
遍历一次字符串,在map中记录每个字符索引,如果已经记录(表示有多个重复的字符)则设置成 -1
再次遍历字符串,如果当前字符的索引依然等于map的值,则就表示该字符只出现过一次
最后都不成立则返回 -1
/*** @param {string} s* @return {number}*/var firstUniqChar = function(s) {const map = {}for (let i = 0; i < s.length; i++) {if (map[s[i]] === undefined) {map[s[i]] = i} else {map[s[i]] = -1}}for (let i = 0; i < s.length; i++) {if (map[s[i]] === i) {return i}}return -1};
