leetcode-09 206.反转链表

                               leetcode-09 206.反转链表

反转一个单链表。

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

思路:

要将链表 1 -> 2 -> 3 -> 4 -> Null 反转为 4 -> 3 -> 2 -> 1 -> Null ,需要一个 cur 指针表示当前遍历到的节点;一个 pre 指针表示当前节点的前驱节点;在循环中还需要一个中间变量 temp 来保存当前节点的后驱节点。

代码:

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        pre = None
        cur = head
        while cur:
            temp = cur.next
            cur.next = pre
            pre = cur
            cur = temp
        return pre

猜你喜欢

转载自blog.csdn.net/qq_43299522/article/details/108750498