第一个只出现一次的字符 发表于 2019-05-01 | 分类于 剑指offer 题目在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 思路使用map来记录字符出现的次数即可 代码1234567891011121314151617function FirstNotRepeatingChar(str) { if (str.length < 1 || str.length > 10000) return -1; const map = {}; for (let i = 0; i < str.length; i++) { if (!map[str[i]]) { map[str[i]] = 1;//未出现过则map次数为1 } else { map[str[i]]++;//出现过则次数在加一 } } for (let i = 0; i < str.length; i++) { if (map[str[i]] === 1) { return i;//找到出现次数第一个为一的字符 } } return -1;}