题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param head ListNode类
# @return ListNode类
#
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class Solution:
# current.next=pre
def ReverseList(self, head: ListNode) -> ListNode:
if not head:
return None
pre = None
current = head
# 先记录下一个节点,当前节点连接上一个节点,然后断开原本的连接
while current:
temp = current.next
# 注意是节点不是节点的值
current.next = pre
pre = current
current = temp
return pre
def creat_chain_table(elements):
if not elements:
return None
head = ListNode(elements[0])
current = head
for value in elements[1:]:
current.next = ListNode(value)
current = current.next
return head
注意两个指针,分清节点和节点的值即可

