题解 | #重排链表#
重排链表
https://www.nowcoder.com/practice/3d281dc0b3704347846a110bf561ef6b
from pickle import NEXT_BUFFER
class Solution:
def reorderList(self, head):
#Fast & Slow pointers
slow, fast = head, head
while fast and fast.next:
slow = slow.next
fast = fast.next.next
#if empty
if not slow:
return
middle = slow.next
slow.next = None
#reverse middle to rev
rev = None
while middle:
next_n = middle.next
middle.next = rev
rev = middle
middle = next_n
cur = head
while rev:
next_n = cur.next
cur.next = rev
rev = next_n
cur = cur.next

查看21道真题和解析