lintcode——在O(1)时间复杂度删除链表节点
来源:互联网 发布:淘宝家具店网页模板 编辑:程序博客网 时间:2024/06/04 18:23
1.问题
给定一个单链表中的一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。
给定 1->2->3->4
,和节点 3
,删除 3 之后,链表应该变为1->2->4
2.思路
这是我在lintcod上做的第一道题,soeasy(只是做完了之后是这感觉:))本来想的挺麻烦的,就觉得还不是得遍历吗,可时间复杂度不符合。最后才想到,要删除的是前一个,直接用下一个节点覆盖上一个就好了。
3.代码
/**
* Definition of ListNode
* class ListNode {
* public:
* int val;
* ListNode *next;
* ListNode(int val) {
* this->val = val;
* this->next = NULL;
* }
* }
*/
class Solution {
public:
/**
* @param node: a node in the list should be deleted
* @return: nothing
*/
void deleteNode(ListNode *node) {
// write your code here
ListNode *T=head;
while(T!=NULL)
{
if(T->next==node)
{ T->next=T->next-next;
delete node; }
else
{ T=T->next;}
}
return;
}
};
4.感想
看到一句话的代码ac后,当时觉得自己智商果然有问题…
多学点东西,不说学知识,最起码能长脑子…
- LintCode-在O(1)时间复杂度删除链表节点
- lintcode 在O(1)时间复杂度删除链表节点
- LintCode:在O(1)时间复杂度删除链表节点
- LintCode 在O(1)时间复杂度删除链表节点
- 在O(1)时间复杂度删除链表节点-LintCode
- LintCode-在O(1)时间复杂度删除链表节点
- Lintcode 在O(1)时间复杂度删除链表节点
- LintCode 在O(1)时间复杂度删除链表节点
- 在O(1)时间复杂度删除链表节点 -LintCode
- lintCode(372)——在O(1)时间复杂度删除链表节点
- lintcode——在O(1)时间复杂度删除链表节点
- LintCode解题笔记 - 在O(1)时间复杂度删除链表节点
- lintcode-在O(1)时间复杂度删除链表节点-327
- 在O(1)时间复杂度删除链表节点(LintCode)
- LintCode-剑指Offer-(372)在O(1)时间复杂度删除链表节点
- lintcode在O(1)时间复杂度删除该链表节点。
- lintcode 372 在o(1)时间复杂度删除链表节点
- [LintCode]372.在O(1)时间复杂度删除链表节点
- 数据库系统原理(4)--数据依赖与关系模式规范化
- Radioactive
- 香港大学推荐的50本经典书籍
- php rsa加密解密实例
- do{...} while(0)
- lintcode——在O(1)时间复杂度删除链表节点
- RK3399 uboot MIPI屏调试总结
- SpringMVC国际化
- 删除链表中等于给定值val的所有节点
- html meta中的viewport指令
- C/C++面试重点
- $.post()的dataType类型参数与Javascript的eval()函数
- GeekBand C++ 设计模式 第二周笔记
- java实现二维码生成及调用打印机打印