单链表反转(python)

 

第一次循环:

第一步:next = head.next
将 head.next 赋值给 next 变量,即next 指向了节点2,先将节点2 保存起来。

 

 

第二步:head.next = pre (初始pre==None)
将 pre 变量赋值给 head.next,即 此时节点1 指向了 None

 

 

第三步:pre = head
将 head 赋值给了 pre,即 pre 指向节点1,将节点1 设为“上一个节点”

 

 

第四步:head = next
将 next 赋值给 head,即 head 指向了节点2,此时节点2 设为“头节点”

 

 

def ReverseList(self , head: ListNode) -> ListNode:
        pre = None
        while head != None:
            next = head.next #1
            head.next = pre #2
            pre = head #3
            head = next#4
        return pre

 

posted @ 2022-12-01 09:42  小仙女、  阅读(91)  评论(0)    收藏  举报