79 - 反转单向链表

白日放歌须纵酒,青春作伴好还乡。这篇文章主要讲述79 - 反转单向链表相关的知识,希望能为你提供帮助。


有一个单向链表,请编写一个函数,将这个单向链表反转,并返回反转后的头节点



class LinkedNode:
def __init__(self, x):
self.val = x
self.next = None

def reverseLinked(header):
if not header or not header.next:
return header

pre = None# 前一个节点
curNode = header# 当前节点
while curNode:
tmp = curNode.next# 临时保存下一个节点
curNode.next = pre# 将前一个节点赋给当前节点的next
pre = curNode
curNode = tmp
return pre

header = LinkedNode(0)
node1 = LinkedNode(1)
header.next = node1
node2 = LinkedNode(2)
node1.next = node2
node3 = LinkedNode(3)
node2.next = node3

def printLinked(header):
p = header
while p:
print(p.val, end= )
p = p.next
print()

printLinked(header)
header = reverseLinked(header)
printLinked(header)

0 1 2 3
3 2 1 0

??80 - 抓取豆瓣音乐排行榜??
【79 - 反转单向链表】


    推荐阅读