题解 | 反转链表
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 |
|