剑指offer(34)第一个只出现一次的字符

题目描述

在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置

题目分析

只需要用map记录字符出现的次数就行,比较简单的题

代码

function 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;
} else {
map[str[i]]++;
}
}
for (let i = 0; i < str.length; i++) {
if (map[str[i]] === 1) {
return i;
}
}
return -1;
}
上一篇:Codeforces 514C Watto and Mechanism 【Trie树】+【DFS】


下一篇:Codeforces Round #325 (Div. 2) D bfs