【中等】算法nodeJs:找出字符串中第一个只出现一次的字符

58 阅读1分钟

描述

对于给定的字符串,找出第一个只出现一次的字符。如果不存在,则输出 −1。

输入描述:

在一行上输入一个长度为 1≦len(s)≦103、仅由小写字母构成的字符串 s。

输出描述:

如果存在只出现一次的字符,输出第一个满足条件的字符;否则,直接输出 −1。

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
    line = await readline();
    // 创建一个对象来存储每个字符出现的次数
    let charCount = {};

    // 遍历每一行中的字符
    for (let i = 0; i < line.length; i++) {
        let char = line[i];
        charCount[char] = (charCount[char] || 0) + 1;
    }
    for (let i in charCount) {
        if (charCount[i] == 1) return console.log(i);
    }
    console.log("-1");
})();