题解 | #反转链表#
思路:
定义两个指针,一个指向前驱节点的pre,初始时为None,另一个cur指向要遍历的节点。我们重点要做的是保存cur的下一个节点,然后保存了之后让cur.next指向pre,接着就是把pre和cur都后移动一位。
代码:
# -*- 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
pre = None # 指向前一个节点
cur = pHead # 指向当前节点
while cur:
temp = cur.next # 保存下一个节点
cur.next = pre # 当前节点指向我们定义的前面
pre = cur # 前驱后移
cur = temp # 当前指针后移
return pre