Вот основной пример связанного списка, который выглядит, как этотКак клонировать связанный список?
головы - нет> [4] -> [6] -> [8] -> Ни
class Node:
def __init__(self, data, next = None):
self.data = data
self.next = next
class LL:
def __init__(self):
self.head = None
def insert_tail(self, o):
new_node = Node(o)
if self.head == None:
self.head = new_node
else:
current = self.head
while current.next != None:
current = current.next
current.next = new_node
def __str__(self):
result = ''
current = self.head
while current != None:
result = result + str(current.data) + ", "
current = current.next
return result[:-2]
def clone(self, empty):
'''(LL, NoneType) -> LL
'''
empty = LL()
current = self.head
while current != None:
empty.insert_tail(None)
current = current.next
return empty
a = LL()
a.insert_tail(4)
a.insert_tail(6)
a.insert_tail(8)
print(a)
Мой вопрос, как мог бы я клонировать это без какого-либо изменения исходного связанного списка? О, и я не хочу использовать какие-либо встроенные структуры данных для этого, так как ни в одном списке, словарях, кортежах и т. Д. (Импорт не импортируется)
EDIT: я не хочу клонировать данные, я просто хочу, связанный список, как:
голова [] -> [] -> [] -> None (Это будет клон один из приведенных выше)
Не могу поверить, что я забыл питон как тег, whoopsie – Ali89
В качестве побочного примечания вы должны действительно назвать вас классом как «LinkedList» или что-то более наглядное. – Soviut
@NPE мой метод клонирования - это то, что мне удалось – Ali89