206. 反转链表(简单)(LCR 024)

https://leetcode.cn/problems/reverse-linked-list/
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

示例 1:
206. 反转链表(简单)(LCR 024)_第1张图片
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]

class Solution:
    def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
        # 方法1:双指针法
        pre, cur = None, head
        while cur:
            tmp = cur.next
            cur.next = pre
            pre = cur
            cur = tmp
        return pre

        # # 借助列表法
        # lst, pre, cur = [], None, head
        # while cur:
        #     lst.append(cur.val)
        #     cur = cur.next
        # lst = lst[::-1]
        # for i in range(len(lst) - 1, -1, -1):
        #     curnode = ListNode(lst[i])
        #     curnode.next = pre
        #     pre = curnode
        # return pre

你可能感兴趣的:(链表,链表,数据结构,python,算法,leetcode)