#File Name : 反转单向链表.py
# 先获得下一个节点防止丢失
# 改变当前节点的下一个节点
# 把即将成为头结点的设置为head
# 原来头结点为pre 因为他即将成为新头结点的下一个节点
# 知道head为空,此时pre即为新的头结点
class Node(object):
def __init__(self,value):
self.next = None
self.value = value
def reverseList(self,head_node):
pre = None
while head_node!=None:
next = head_node.next
head_node.next = pre
pre = head_node
head_node = next
return pre
时间复杂度O(N),空间复杂度O(1)。