在o(1)复杂度内删除结点
来源:互联网 发布:阿里云oss存储sdk 编辑:程序博客网 时间:2024/05/01 10:45
题目:
给定一个单链表中的一个等待被删除的节点(非表头或表尾)。请在在O(1)时间复杂度删除该链表节点。
样例
思路:这道题我想过把链表改成循环链表操作,因为没有头结点,但是随之问题的解决,时间复杂度又不是o(1)了。我想了很久,未果,最后看了一篇博客,才想起来我忽略了最基础的 覆盖思路!给定 1->2->3->4
,和节点 3
,删除 3 之后,链表应该变为 1->2->4
。
代码:
/**
* 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=node->next;
node->val=T->val;
node->next=T->next;
}
};
感想:这道题非常好,锻炼的不是编程技术而是大脑的思考问题的方法,往往问题解决不了了,不妨回到最基础的方法。
0 0
- 在o(1)复杂度内删除结点
- 在O(1)时间复杂度内删除指定节点
- 删除链表结点要求O(1)时间复杂度
- 以O(1)时间复杂度删除链表中的结点
- 删除链表结点--O(1)时间复杂度
- 算法题14 删除链表结点(时间复杂度为O(1)))
- 删除链表结点(时间复杂度为O(1)))
- 每天一道算法题2 删除链表结点(时间复杂度为O(1)))
- 删除链表结点(时间复杂度为O(1)))
- mtk笔试题-----快速删除单链表中一个结点。时间复杂度为o(1)
- 在O(1)时间内删除链表结点
- 在o(1)时间删除链表结点
- 60 在 O(1)时间内删除链表结点
- 在O(1)时间删除链表结点
- java 在o(1)时间内删除链表结点
- 在O(1)时间删除链表结点
- 在O(1)时间内删除单链表结点
- 在O(1)时间内删除单链表结点
- 量化还是风控?
- 用xl2tpd建立L2TP协议的VPN连接
- 查询list结果集中的数据重新组合问题
- 几种USB控制器类型:OHCI,UHCI,EHCI,xHCI
- PO、VO、DAO、BO、POJO
- 在o(1)复杂度内删除结点
- cuda 学习 | GPU硬件与并行通信模式
- Spring Boot的启动器Starter详解
- docker镜像安装java-openjdk以及openjdk-debuginfo
- APP安全报告第十四期:十款热门旅行APP,竟有九款APP的安全评分不及格!
- POJ-2236 Wireless Network
- spring+springMVC+esayui框架
- spark开发环境搭建及部署
- linux中export和source的作用和区别