给定指向单向链表的第一个和最后一个节点的指针,以下哪些操作取决于链表的长度?
(A)删除第一个元素
(B)插入一个新元素作为第一个元素
(C)删除列表的最后一个元素
(D)在列表末尾添加一个新元素答案: (C)
说明: a) 可以通过删除内存并更改第一个指针在 O(1) 时间内完成。
b) 可以在 O(1) 时间内完成,请参阅此处的 push()
c) 删除最后一个元素需要指向last of last的指针,只能通过遍历链表获得。
d) 可以在 O(1) 中通过改变 next of last 和 last 来完成。这个问题的测验