Удалить дубликаты символов из строки

8. Удалить дубликаты символов из строки

Условие задачи:
Напиши функцию которая позволит нам из строки ‘abcdd’ получить строку “abcd”

Спойлеры к решению
Подсказки
  • Нужно пройтись по символам строки.
  • Нужно добавлять символ в результат только в том случае, если он ещё не встречался.
  • Для быстрой проверки уже встреченных символов удобно использовать set.
  • Порядок символов должен сохраниться: из "abcdd" должно получиться "abcd", а не просто набор уникальных символов.
Решение
def remove_duplicates(text: str) -> str:
    seen = set()
    result = []

    for char in text:
        if char not in seen:
            seen.add(char)
            result.append(char)

    return "".join(result)

Пример использования:

print(remove_duplicates("abcdd"))  # abcd

Функция проходит по строке слева направо. Если символ встречается впервые, он добавляется в список result и запоминается в seen. Если символ уже был раньше, он пропускается. В конце список символов собирается обратно в строку через "".join(result).