给定单向链表的一个节点指针,定义一个函数在O(1)时间删除该结点。假设链表一定存在,并且该节点一定不是尾节点。

/**

* Definition for singly-linked list.

* struct ListNode {

* int val;

* ListNode *next;

* ListNode(int x) : val(x), next(NULL) {}

* };

*/

class Solution {

public:

void deleteNode(ListNode* node) {

auto p = node->next;

node->val = p->val;

node->next = p->next;

// 这两步的作用就是将 *(node->next) 赋值给 *node,所以可以合并成一条语句:

// *node = *(node->next);

delete p;

}

};

相关推荐
wabs6662 小时前
关于图论【最短路径之Bellman_ford 算法(单源有限最短路)|卡码网96.城市间货物运输III的思考】
数据结构·算法·图论·卡码网·bellman_ford·单源有限最短路
imaol13 小时前
链表 -- 环链表
java·前端·链表
wuyk5553 小时前
2.队列:先进先出的线性数据结构
c语言·数据结构·stm32·单片机
imaol13 小时前
链表 -- 双向链表
java·前端·链表
lsylalalala4 小时前
常见的排序算法1
数据结构·算法·排序算法
imaol15 小时前
数据结构---队列
java·数据结构·算法
疯狂打码的少年5 小时前
【数据结构】串的模式匹配:KMP算法(重点)
数据结构·笔记·算法
一米阳光86615 小时前
软考(中级)软件设计师核心笔记(8)数据结构——线性结构、数组、矩阵
数据结构·笔记·职场发展·软考·软件设计师·中级职称
疯狂打码的少年7 小时前
【数据结构】树的基本概念与二叉树定义
java·数据结构·笔记·算法
小龙报8 小时前
【优选算法】1.搜索插入位置 2.x的平方根
java·c语言·数据结构·c++·python·算法·蓝桥杯