题解 | 反转链表
from operator import ne
# 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:
pre = None
crt = head
while crt:
nxt = crt.next
crt.next = pre
pre = crt
crt = nxt
return pre
# write code here
下面这位解说的好
class Solution: def ReverseList(self , head: ListNode) -> ListNode: # write code here #1空链表不需要翻转 #2.链表的表头是head,链表的尾部是null 1--2--3--null,反转后 null--1--2--3 #3链表反转,将每个指针从后变成前,遍历整个链表,将遇到的节点----指针逆向即可。即:断掉当前节点向后的指针,改为前向 cur.next=pre;先记录当前链表的下一个节点,作为下一次循环的翻转节点。由于翻转节点要指向前节点,前节点为本次翻转的节点。 #遍历整个链表,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
查看4道真题和解析