0
我想從列表中刪除k數字元素。我會像下面這樣做(僞代碼)單鏈表,刪除k元素
delete(L,k)
x <- L.head
i <- 1
while(i < k-1 AND x.next != NULL)
x<-x.next
i <- i+1
if(i = k-1 AND x.next != NULL)
if(x.next.next != NULL)
x.next <- x.next.next
else if(x.next.next = NULL)
x.next = NULL
我的目的是:如果k是最後一個,那麼刪除k-1.next。如果k不是最後一個,則將k-1.next指向k + 1。這是個好主意嗎?
謝謝。你的意思是L.head應該是空的? – user3162968
接下來的事情:如果循環繼續,直到我= k,然後我們刪除k.next,我們刪除k + 1元素,不是嗎? – user3162968
我的意思是,如果你想讓你可以使L.head總是空的作爲創建一個空鏈表(只包含頭部的列表)的一種方式。否則,當你刪除列表中唯一的項目時,你沒有列表。你不需要。 – user2590835