LintCode解题笔记 - 在O(1)时间复杂度删除链表节点
来源:互联网 发布:二战前各国实力 知乎 编辑:程序博客网 时间:2024/06/05 00:17
给定一个单链表中的表头和一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。并在删除该节点后,返回表头。
原文链接: http://www.lintcode.com/zh-cn/problem/delete-node-in-the-middle-of-singly-linked-list/
思路,传统意义上,删除当前节点是从头结点head遍历,匹配到目标节点后删除,但是时间复杂度是O(n)。如果是删除下一个节点,时间复杂度则是O(1),因此考虑将下一个节点立面的data数据拷贝到当前节点(当前节点是带删除节点,其中数据可以覆盖),然后删除下一个节点。
class Solution {public: /** * @param node: a node in the list should be deleted * @return: nothing */ void deleteNode(ListNode *node) { // write your code here ListNode *p = node->next; node->val = p->val; node->next = p->next; delete p; }};
0 0
- LintCode解题笔记 - 在O(1)时间复杂度删除链表节点
- 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-在O(1)时间复杂度删除链表节点-327
- 在O(1)时间复杂度删除链表节点(LintCode)
- LintCode-剑指Offer-(372)在O(1)时间复杂度删除链表节点
- lintCode(372)——在O(1)时间复杂度删除链表节点
- lintcode在O(1)时间复杂度删除该链表节点。
- lintcode——在O(1)时间复杂度删除链表节点
- lintcode 372 在o(1)时间复杂度删除链表节点
- [LintCode]372.在O(1)时间复杂度删除链表节点
- 在mac上构建Jenkins+unity3d+xcode发布流程
- linux块设备驱动之实例
- LeetCode Binary Tree Right Side View
- iOS - 地图 - 百度地图 - 准备阶段
- js使用cookies的例子
- LintCode解题笔记 - 在O(1)时间复杂度删除链表节点
- LeetCode-Two Sum-解题报告
- 联网查看图片的Demo
- java字符编码
- C#定时器
- error while loading shared libraries: libgflags.so.2:
- 教务考试系统的总结
- SpringMVC+Spring+Mybatis 环境搭建问题记录(注解开发)
- CAKeyframeAnimation(关键帧动画)