Рубрики
Без рубрики

Удалить дубликаты из связанного списка – взломать интервью по кодированию, LeetCode

Эта проблема появляется как при взломе интервью, так и в LeetCode. Проблема такова: дано … с меткой Python.

Эта проблема появляется как при взломе интервью, так и в 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”