79 - 反转单向链表
Posted wx62c62b36cedf9
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于79 - 反转单向链表的主要内容,如果未能解决你的问题,请参考以下文章