在进行迭代链接时,可以使用一个变量来保存当前节点的下一个节点,以便在迭代过程中不断更新。
以下是一个示例代码,用于在不增加内存膨胀的情况下进行迭代链接:
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def iterate_linked_list(head):
current = head
while current:
next_node = current.next # 保存当前节点的下一个节点
print(current.val) # 做迭代操作,这里只是打印当前节点的值
current = next_node # 更新当前节点为下一个节点
# 创建一个示例链表:1 -> 2 -> 3 -> 4 -> 5
head = ListNode(1)
node2 = ListNode(2)
node3 = ListNode(3)
node4 = ListNode(4)
node5 = ListNode(5)
head.next = node2
node2.next = node3
node3.next = node4
node4.next = node5
iterate_linked_list(head)
运行以上代码将会输出链表的每个节点的值(1, 2, 3, 4, 5)。在迭代过程中,我们只使用了常量级的额外空间,并且不会增加内存膨胀。
下一篇:不增加文件大小的文件分块