leetcode: 206. Reverse Linked List

Difficulty

Easy.

Problem

Reverse a singly linked list.

Example:

Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL
Follow up:

A linked list can be reversed either iteratively or recursively. Could you implement both?

AC

class Solution():
    def reverseList(self, head):
        if not head:
            return head
        pre = dummy = ListNode(0)
        dummy.next = head
        cur = pre.next
        while cur.next:
            tmp = pre.next
            pre.next, cur.next, pre.next.next = cur.next, cur.next.next, tmp
        return dummy.next

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券