举例说明:




"""单链表"""
class Node:
def __init__(self, item):
self.item = item
self.next = None
'''链表反转'''
def reverse(head):
prev = None
current = head
while current:
next_node = current.next # 临时保存下一个节点
current.next = prev # 反转指针
prev = current # prev 前移
current = next_node # current 前移
return prev # 返回新的头节点
双链表同理
'''定义双向链表'''
class ListNode(object):
def __init__(self, data=0, prev=None, next=None):
self.data = data
self.prev = prev
self.next = next
def reverseListNode(head):
prev = None
current = head
while current:
next_node = current.next
current.next = prev
current.prev = next_node
prev = current
current = next_node
return prev
浙公网安备 33010602011771号