文巾解题 206. 反转链表

Posted UQI-LIUWJ

tags:

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

1 题目描述

2 解题思路

2.1 创建辅助链表

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        if(head==None):
            return None
        tmp=ListNode(head.val)
        
        ret=ListNode(head.val)
        while(head.next):
            
            head=head.next
            ret=ListNode(head.val)
            ret.next=tmp
            tmp=ret
        return ret

2.2

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        if(head==None):
            return None
        prev=None
        cur=head
        while(cur!=None):
            temp=cur.next #暂存下一个节点
            cur.next=prev #使当前索引到的节点指向之前已经倒转好的链表
            prev=cur#倒转的链表向后进一位
            cur=temp # 未索引的列表向后退一位
        return prev

以上是关于文巾解题 206. 反转链表的主要内容,如果未能解决你的问题,请参考以下文章

206.反转链表

剑指offerJZ15——反转链表。leetcode206.反转链表

LeetCode 206. 反转链表

文巾解题 344 反转字符串

文巾解题 557. 反转字符串中的单词 III

算法——反转链表