剑指offerQ15
输入一个链表,反转链表后,输出新链表的表头
思路来源: 牛客网的offer快乐水
https://www.nowcoder.com/questionTerminal/75e878df47f24fdc9dc3e400ec6058ca?answerType=1&f=discussion
也就是说 先设置两个指针,分别记录当前节点的前一个和 当前节点的后一个
在每次循环时,next指针记录当前的下一个地址
head指针反指指向pre,实现反转链表
之后pre指向当前指针,head指向下一个指针
当head为空时,pre指向链表的最后一个,输出pre
class Solution:
# 返回ListNode
def ReverseList(self, pHead):
# write code here
if pHead ==None:
return None
next = None
pre = None
while pHead!=None:
next = pHead.next
pHead.next = pre
pre = pHead
pHead = next
return pre