- 为了避免链表断裂,这里需要三个指针,pnode指向某一节点,pre指向之前的一个节点,next指向后一个节点,反转的时候先记录next=pnode.next,然后让pnode指向pre,然后更新pnode和pre。
- 需要注意的是什么时候反转结束以及只有一个节点或空链表的时候
# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # 返回ListNode def ReverseList(self, pHead): # write code here Reversedhead = None pNode = pHead pre = None while pNode: nextnode = pNode.next if not nextnode: Reversedhead = pNode pNode.next = pre pre = pNode pNode = nextnode return Reversedhead