‘’’
题目:将一个单项链表中,每两个节点进行翻转
输入:1->2->3->4->5->6
输出:2->1->4->3->6->5
‘’’
class node():
def __init__(self,val):
self.val = val
self.next = None
def reverse(head):
if not head or not head.next:
return head
a = head
cur = head.next
head = head.next
while cur.next and cur.next.next:
tmp = cur.next
cur.next = a
a.next = tmp.next
a = tmp
cur = tmp.next
if cur.next:
a.next = cur.next
cur.next = a
else:
cur.next = a
a.next = None
return head
def printHead(head):
res = []
cur = head
while cur:
res.append(cur.val)
cur = cur.next
print(res)
return
head = node(1)
cur = head
for i in range(2,10):
cur.next = node(i)
cur = cur.next
printHead(head)
head = reverse(head)
printHead(head)
如有错误,还请指正