python 头插法逆置单链表
逆置的方法不止一种,本文给出头插法逆置单链表的方法。
1、链表节点定义
class Node:
def __init__(self,data):
self.data=data
self.next=None
2、头插法逆置单链表
def headInsert_reverse(head):
if head==None or head.next==None:
return
cur=head.next.next
head.next.next=None
while cur is not None:
next=cur.next
cur.next=head.next
head.next=cur
cur=next
3、打印函数list_print
def list_print(head):
if head is None or head.next is None:
return None
while head.next :
print(head.next.data)
head=head.next
4、创建测试链表
a=Node(1)
b=Node(8)
c=Node(6)
d=Node(0)
e=Node(66)
f=Node(52)
g=Node(11)
a.next=b
b.next=c
c.next=d
d.next=e
e.next=f
f.next=g
head=Node(None)
head.next=a
5、测试
list_print(head)
headInsert_reverse(head)
list_print(head)
将以上代码合并可直接运行。