"""
反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。
说明:
1 ≤ m ≤ n ≤ 链表长度。
示例:
输入: 1->2->3->4->5->NULL, m = 2, n = 4
输出: 1->4->3->2->5->NULL
"""
def reverseBetween(head, m, n):
if m == n:
return head
start = head
left = head
for _ in range(1,m-1):
left = left.next
for _ in range(1,m):
start = start.next
pNode = start
pPrev = None
for _ in range(m, n+1):
pNext = pNode.next
pNode.next = pPrev
pPrev = pNode
pNode = pNext
left.next = pPrev
start.next = pNode
if m == 1:
return pPrev
else:
return head
92_反转链表Ⅱ
最新推荐文章于 2022-11-10 11:51:59 发布