0
當我嘗試使next
屬性的鏈接列表的節點p
指向None
時,我使用p.next = None
。但是如果我想讓節點對應p.next
到None
呢?設置列表旁邊沒有
一個例子是,當嘗試旋轉一個鏈表,它與節點的next
等於None
,我想使新的列表的最後一個元素的next
點None
,但我覺得我一直在刪除它指向的元素結束至。
這裏是我的代碼,通過k
位置來旋轉列表。如果你想看到這個問題的完整描述見here
def rotate(head, k):
'''
head is pointer to the head, k is the number of positions to rotate
'''
if not head or k == 0:
return head
p = head
d = head
counter = 1
while p.next != None:
counter += 1
p = p.next
out = ListNode(0)
if k % counter == 0:
return head
if counter < k:
counter = counter % k
for _ in range(counter):
p.next = d
d = d.next
p = p.next
out = p
d.next.next = None
return out
這是一個代碼片段,您可以發佈您的完整代碼? –
實際上,[mcve]可能更好@Laurent – boardrider
增加了函數頭,用於讀取指針,頭部和要旋轉的位置數量k。 –