题目链接:https://leetcode.cn/problems/reverse-linked-list/

核心方法:双指针

定义一个cur指针,指向头节点,pre指针,初始化为None,代表cur指针的前一个节点

先用temp临时指针保存cur.next,为了向后移动指针

class Solution:
    def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
        cur = head
        pre = None
        
        while cur:
            temp = cur.next
            # 改变指针 指向前一个
            cur.next = pre

            # 向后移动
            pre = cur
            cur = temp
        return pre