题解 | #找出字符串中第一个只出现一次的字符#
找出字符串中第一个只出现一次的字符
https://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (await iter.next()).value; void (async function () { // Write your code here while ((line = await readline())) { // 统计出现次数 const temp = line.split("").reduce((res, cur) => { res[cur] !== undefined ? res[cur]++ : (res[cur] = 1); return res; }, {}); // 找到出现一次的字符 const onlyOnce = Object.keys(temp).filter((key) => temp[key] === 1); // 不存在输出-1 if (!onlyOnce.length) return console.log(-1); // 找到最靠前的字符 let minIndex = line.length - 1; onlyOnce.forEach( (item) => (minIndex = Math.min(minIndex, line.indexOf(item))) ); console.log(line[minIndex]); } })();