コードスニペットは次のとおりです。ノードのリストを逆転しようとしましたが、そうすると、リンクされたリストの最初のノードが1つだけ印刷されます。私がここで間違って何をしているのか?私はこれを紙に書いてきました。ノードをループして、新しいリンクリストにそれぞれを追加する必要があるようです。 newList.head.next = temp
:問題のPythonでリンクされたノードのリストをどうやって元に戻すことができますか?
# node class
class Node(object):
def __init__(self, value, next=None):
self.value = value
self.next = next
# singly linked list class
class SinglyLinkedList(object):
def __init__(self):
self.head = None
self.tail = None
# I'm trying to do the same thing in my reverseList() method
# as I'm doing in the addFront method
def addFront(self, value):
# create new node
newNode = Node(value)
# set old head to point to new node
if self.head == None:
self.head = newNode
self.tail = newNode
else:
# store old head
last_head = self.head
# set head to new node
self.head = newNode
# point head to old head
self.head.next = last_head
# reverseList() method not working?
# Only giving me first head value? Why?
def reverseList(self):
node = self.head
newList = SinglyLinkedList()
newList.head = None
while node:
if node.next == None:
break
else:
temp = newList.head
newList.head = node
newList.head.next = temp
print newList.head.value
node = node.next
私はより堅牢なフィードバックを求めることができませんでした。あなたが概説したすべてのことに大変感謝しています。今、機能的/命令的な行動についてあなたが言っていることを理解しています。これは私の命令行動の土地に歩いているが、あなたが達成したこと(既存のリストを逆転させる)は恒星であり、私が求めている正確な解決策である。回答は受け入れられ、あなたのフィードバックと貢献は大いに評価されます! – natureminded