题目描述
一个整数队列中有 n 个元素,请问:是否存在与 n 无关的方法,来删除这个队列中的一个特
定的元素。如果可能,请给出你的数据结构和删除算法,算法用函数表示,函数的定义如下;如
果不可能,请说明你的理由。
函数定义:
void DeleteNode(ListNode *pListHead, ListNode *pToBeDeleted)
{
// 加入你的代码,如果你认为这样的方法存在的话
}
题目来源及自己的思路
浙江理工的考研题,自己感觉根本不可能存在这样的算法。但是这样那一道大题岂不是根本不用做了?
ListNode 的定义给你了么,不给你怎么写。
这题不会是让你自己去定义 ListNode 的结构吧,那果断双向链表啊,可以完美达到O(1)的复杂度,如果只用单向链表的话,复杂度就是O(n),因为你要遍历找到删除节点的前一个节点。