删除链表中指定节点,要求时间复杂度为O(1)
2012-05-24 09:40
225 查看
思路:
(1)把要删除的节点的值与其next交换
(2)删除其next
(3)完成
算法:
(1)把要删除的节点的值与其next交换
(2)删除其next
(3)完成
算法:
void DeleteNode(LinkList *p){ if(p->next=NULL){ free(p); p=NULL; }else{ LinkList* lk=p->next; int temp=p->data; p->data=lk->data; lk->data=temp; p->next=lk->next; free(lk); } }
相关文章推荐
- 删除链表内地某节点, 要求时间复杂度为O(1)
- 删除链表中倒数第n个节点(时间复杂度为O(n))
- 在O(1)时间复杂度内删除指定节点
- 设一个没有头结点指针的单链表。一个指针指向此单链表中间的一个结点(不是第一个,也不是最后一个结点),将该结点从单链表中删除,要求时间复杂度O(1)。
- 用O(1)的时间复杂度删除单链表中的某个节点
- 链表(8)----删除链表的第K个节点,时间复杂度为O(1)
- 用O(1)的时间复杂度删除单链表中的某个节点
- 用O(1)的时间复杂度删除单链表中的某个节点
- 【100题】第六十题 删除链表结点要求O(1)时间复杂度
- 算法面试之道:在O(1)的时间内删除单链接链表的指定节点
- 0(1)时间删除带头节点单链表指定节点。
- 用O(1)的时间复杂度删除单链表中的某个节点
- 删除链表中的节点,时间复杂度O(1)(剑指offer)
- 【问题解决】删除链表结点,要求时间复杂度为O(1)
- 如何在O(1)时间删除链表指定节点(Java实现)
- 数据结构之链表面试题汇总(四)得到两个单链表相交的第一个交点、用O(1)的时间效率删除单向链表中的指定节点
- 转自“两颗番茄”:删除链表结点(时间复杂度为O(1)))
- 剑指offer 13. 在O(1)时间删除链表节点
- 单向链表(二) 删除指定位置的节点
- 时间复杂度为O(1)的删除链表结点方法