题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param head ListNode类
# @return ListNode类
#
class Solution:
def ReverseList(self , head: ListNode) -> ListNode:
# write code here
pre = None
cur = head
while cur:
temp = cur.next
cur.next = pre
pre = cur
cur = temp
return pre
使用两个指针pre和cur分别表示前一个节点和当前节点,同时借助一个临时变量temp用于存储当前节点原本的下一个节点(如果不保存,那么在cur.next=pre后就丢失了链表信息)。之后,一直for循环往后即可,最后返回pre指针。
查看6道真题和解析
