Удалить дубликаты из отсортированного списка
Условие задачи
Дан отсортированный по неубыванию список values, который представляет значения linked list.
Удалите дубликаты так, чтобы каждое значение осталось ровно один раз, и верните итоговый список значений.
На реальном собеседовании задача давалась через ListNode и изменение ссылок .next; в тренажере используется list[int], чтобы автотесты были детерминированными. Алгоритм тот же: один проход и пропуск соседних дубликатов.
Сигнатура
def delete_duplicates_sorted(values: list[int]) -> list[int]:Ваше решение
Идея решения
Держим два указателя: последний уникальный узел и текущий узел.
Так как список отсортирован, одинаковые значения идут подряд. Когда current.val отличается от last_unique.val, связываем last_unique.next с current и двигаем last_unique. В конце обнуляем last_unique.next, чтобы не оставить хвост из дублей.
