- 为了避免链表断裂,这里需要三个指针,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
京公网安备 11010502036488号