#p1指向上一个node ,p当前node ,tmp下一个node #p1初始为None,p初始为head #当p.next非None时循环,下一个node暂存到tmp,p.next改为p1,p1和p向后移动,判断进入下一次循环 #当P.next为None时结束循环,p.next =p1 ,p就是反转链表的head # class ListNode: # def __init__(self, x): # self.val = x # self.next = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param head ListNode类 # @return ListNode类 class Solution: def ReverseList(self , head: ListNode) -> ListNode: # write code here if not head: return head else: p = head p1 = None while p.next: tmp = p.next p.next = p1 p1 = p p = tmp p.next = p1 return p