Эта проблема появляется как при взломе интервью, так и в LeetCode. Проблема заключается в следующем: Учитывая связанный список, удаляйте дубликаты, так что каждое число появляется только один раз.
Например:
input: 1 -> 1 -> 2 output: 1 -> 2
Вот подсказка. Используйте хэшсет для хранения ваших уникальных чисел, и если число уже существует в хэшсете, установите указатель предыдущего узла, равный следующему узлу текущего узла.
class Node: self.data = data self.next = None class Solution: def removeDuplicates(self, head:Node) -> Node: hashSet = set() node = head prev = None while node: if node.data not in hashSet: hashSet.add(node.data) prev = node else: prev.next = node.next node = node.next return head
Оригинал: “https://dev.to/xshirl/remove-duplicates-from-linked-list-cracking-the-coding-interview-leetcode-29gn”