'''
解题思路:
while循环中引入两个中间变量pre,next存储当前节点的前一个节点和下一个节点初始值为None
'''
# -*- 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
if pHead == None or pHead.next ==None:
return pHead
pre = None # 前一个节点(None初始化)
next = None # 下一个节点(None初始化)
while pHead != None:
next = pHead.next # 先保存下一个节点
pHead.next = pre # 下一个节点指向前一个节点(反转链表)
pre = pHead # 前一个节点更新(用于下一个循环使用)
pHead = next # 用下一个节点替代当前节点(触发下一步循环)
return pre