Страницы

Поиск по вопросам

среда, 22 января 2020 г.

Вернуть первый не повторяющийся символ из строки, есть ли решение получше?

#javascript #алгоритм


Например, для строки abacabad результат будет c хоть и есть еще не повторяющийся
символ d, но он после c. 

Если нет такого символа, то вернуть null. Пример: bcccccccb, результат: null.

Мое решение: 

function firstNotRepeatingCharacter (s) {
    let o = {}
    for (let l of s)
        o[l] = !o.hasOwnProperty(l)
    for (k in o)
        if (o[k]) return k
    return null
}

    


Ответы

Ответ 1



Если поддерживается ES2018, то можно так: function check(s) { var match = s.match(/(.)(?!.*\1)(?

Ответ 2



Тоже интересный вариант, до этого и не использовал lastIndexOf function check (s) { for (let l of s) if (s.indexOf(l) === s.lastIndexOf(l)) return l return null } console.log(check("abacabad")) console.log(check("bcccccccb"))

Комментариев нет:

Отправить комментарий