欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

92.翻转链表

程序员文章站 2024-03-25 18:25:10
...

题目:

92.翻转链表

思路:

遍历链表,直到m位置,记录为新的头节点,即将开始翻转.

新增一个pre节点,每遍历一个m到n之间的节点,就将它提到头节点的前面.

代码:

class Solution:
    def reverseBetween(self, head: ListNode, m: int, n: int) -> ListNode:
        if not head:
            return None
        ans=ListNode(0)
        item=ListNode(0)
        ans.next=head
        pre=ans
        for i in range(1,m):
            pre=pre.next
        head=pre.next
        for j in range(m,n):
            item=head.next
            head.next=item.next
            item.next=pre.next
            pre.next=item

        return ans.next

 

相关标签: 码农日常