错误:在链表中添加新项时,可能会出现以下错误:
以下是一个示例代码,说明了如何解决这些错误:
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def add_at_beginning(self, data):
new_node = Node(data)
new_node.next = self.head
self.head = new_node
def add_at_end(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
else:
current = self.head
while current.next is not None:
current = current.next
current.next = new_node
def print_list(self):
current = self.head
while current:
print(current.data)
current = current.next
# 创建链表对象
linked_list = LinkedList()
# 在开头添加新项
linked_list.add_at_beginning(10)
linked_list.add_at_beginning(20)
linked_list.add_at_beginning(30)
# 在末尾添加新项
linked_list.add_at_end(40)
linked_list.add_at_end(50)
linked_list.add_at_end(60)
# 打印链表
linked_list.print_list()
在上面的代码中,我们创建了一个Node
类来表示链表中的每个节点。然后,我们创建了一个LinkedList
类来管理链表。在add_at_beginning
方法中,我们创建一个新节点并将其指向当前头节点,然后更新头指针以指向新节点。在add_at_end
方法中,我们首先检查链表是否为空,如果是,则将新节点设置为头节点;否则,我们遍历链表直到找到最后一个节点,然后将其next
指针指向新节点。最后,我们实例化LinkedList
类对象并使用add_at_beginning
和add_at_end
方法在链表中添加新项,然后使用print_list
方法打印链表的内容。