输入一个链表,反转链表后,输出新链表的表头。
class Solution:
#使用p和q两个指针配合工作,使得两个节点间的指向反向,同时用r记录剩下的链表。
#注意判空(两部分,pHead和pHead.next),不然不会通过全部的测试用例
def ReverseList(self, pHead):
if pHead == None or pHead.next == None:
return pHead
p = pHead
q = pHead.next
p.next = None
while q:
r = q.next
q.next = p
p = q
q = r
return p