Dieses wie eine funktionale Programmierung Übung aussieht, so stelle ich Ihnen eine funktionale Lösung (kopiert es die Liste):
def reverse(link, rest=None):
if link is None:
return rest
return reverse(link.next, LinkedList(link.value, rest))
class LinkedList:
def __init__(self, value=None, next=None):
self.next = next
self.value = value
def print(self):
print(self.value)
if self.next is not None:
self.next.print()
def to_linked_list(items):
if len(items) == 0:
return None
return LinkedList(items[0], to_linked_list(items[1:]))
to_linked_list([1, 2, 3, 4, 5]).print()
# 1, 2, 3, 4, 5
reverse(to_linked_list([1, 2, 3, 4, 5])).print()
# 5, 4, 3, 2, 1
@RasmiRanjanNayak Diese Frage gehört definitiv nicht zu den Codereviews, da es nicht funktioniert und die Frage nicht nach einem allgemeinen Ratschlag zur Verbesserung des Codes fragt, sondern wie man eine Fehlfunktion beheben kann. – Paul