【发布时间】:2021-07-07 07:02:59
【问题描述】:
这是我的代码。请帮助我找出为什么没有打印出链表的最后一个元素以及如何打印最后一个元素。
class Node(object):
def __init__(self, value):
self.value = value
self.next = None
class LinkedList(object):
def __init__(self, head = None):
self.head = head
def append(self, data):
current = self.head
if self.head:
while current.next:
current= current.next
current.next= data
else:
self.head = data
def show(self):
current = self.head
while current.next:
print(current.value)
current = current.next
ll1=LinkedList()
e1= Node(1)
e2 = Node(2)
e3 = Node(3)
e4 = Node(4)
ll1.append(e1)
ll1.append(e2)
ll1.append(e3)
ll1.append(e4)
ll1.show()
【问题讨论】:
-
最后一个节点的
current.next将始终为None,这将在打印最后一个节点之前终止while循环。 -
在
show方法中使用while current作为终止条件。
标签: python linked-list singly-linked-list