387.字符串中的第一个唯一字符
小于 1 分钟
387.字符串中的第一个唯一字符
/*
* @lc app=leetcode.cn id=387 lang=typescript
*
* [387] 字符串中的第一个唯一字符
*/
// @lc code=start
function firstUniqChar(s: string): number {
let map = new Map<string, number>();
for (let i = 0; i < s.length; i++) {
let has = map.has(s[i]);
if (has) {
map.set(s[i], (map.get(s[i]) ?? 0) + 1);
} else {
map.set(s[i], 1);
}
}
if ([...map.values()].includes(1)) {
// 存在时找第一个1索引
let firstOne = [...map.values()].indexOf(1);
// 找到对应元素
let firstKey = [...map.keys()][firstOne];
// 返回其在字符串中位置
return s.indexOf(firstKey);
}
return -1;
}
console.log(firstUniqChar("loveleetcode"));
// @lc code=end
Loading...
