题解 | #反转链表#
反转链表
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
注意两个指针,分清节点和节点的值即可