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