# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
# @param head ListNode类
# @param m int整型
# @param n int整型
# @return ListNode类
class Solution:
def reverseBetween(self , head , m , n ):
dummy = ListNode(0)
dummy.next = head
prev = dummy
# 先找到第一个需要反转的链表节点
for _ in range(m-1):
prev = prev.next
cur = prev.next
node = None
# 反转指定区间的链表
for _ in range(n-m+1):
tmp = cur.next
cur.next = node
node = cur
cur = tmp
# 再拼接链表
prev.next.next = cur
prev.next = node
return dummy.next
链表内指定区间反转
最新推荐文章于 2023-09-06 14:14:04 发布