Una lista enlazada es una estructura de datos que consiste en un conjunto de nodos que se enlazan entre sí. Cada nodo contiene un valor y una referencia al siguiente nodo.
class Node:
def __init__(self, value):
self.value = value
self.next = None
class LinkedList:
def __init__(self):
self.head = None
self.tail = None
def append(self, value):
if self.head is None:
self.head = Node(value)
self.tail = self.head
return
self.tail.next = Node(value)
self.tail = self.tail.next
def to_list(self):
out = []
node = self.head
while node:
out.append(node.value)
node = node.next
return out