LeetCode 206 Reverse Linked List 解题报告

Posted yao1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 206 Reverse Linked List 解题报告相关的知识,希望对你有一定的参考价值。

题目要求

Reverse a singly linked list.

Example:

  Input: 1->2->3->4->5->NULL

  Output: 5->4->3->2->1->NULL

题目分析及思路

给定一个单链表,要求得到它的逆序。可以使用列表对链表结点进行保存,之后新建一个列表对链表的逆序进行保存。最后返回新建列表的第一个元素即可。

python代码

# Definition for singly-linked list.

# class ListNode:

#     def __init__(self, x):

#         self.val = x

#         self.next = None

class Solution:

    def reverseList(self, head: ListNode) -> ListNode:

        l = [head]

        if head == None or head.next == None:

            return head

        while l[-1].next:

            l.append(l[-1].next)

        ans = [l.pop()]

        while l:

            ans[-1].next = l.pop()

            ans.append(ans[-1].next)

        ans[-1].next = None

        return ans[0]

        

        

 

以上是关于LeetCode 206 Reverse Linked List 解题报告的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode 206 Reverse Linked List 链表

LeetCode 206 Reverse Linked List

Leetcode 206: Reverse Linked List

[LeetCode]206. Reverse Linked List

206. Reverse Linked List(LeetCode)

Leetcode92. Reverse Linked List II && 206. Reverse Linked List