给定单向链表的一个节点指针,定义一个函数在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;

}

};

相关推荐
m0_6294947334 分钟前
LeetCode 热题 100-----18.矩阵置零
数据结构·leetcode·矩阵
SunnyByte1 小时前
数据结构——算法效率
数据结构
jiushiapwojdap14 小时前
LU分解法求解线性方程组Matlab实现
数据结构·其他·算法·matlab
纽扣66715 小时前
【算法进阶之路】链表进阶:删除、合并、回文与排序全解析
数据结构·算法·链表
xvhao201317 小时前
单源、多源最短路
数据结构·c++·算法·深度优先·动态规划·图论·图搜索算法
m0_6294947319 小时前
LeetCode 热题 100-----17.缺失的第一个正数
数据结构·算法·leetcode
hnjzsyjyj20 小时前
洛谷 P1443:马的遍历 ← BFS
数据结构·bfs
做时间的朋友。20 小时前
精准核酸检测
java·数据结构·算法
如君愿21 小时前
考研复习 Day28 | 习题--计算机网络第四章(网络层 中)、数据结构(树与二叉树 下)
数据结构·计算机网络·考研·课后习题·记录考研
江南十四行21 小时前
排序算法进阶:直接插入排序(简单排序)与希尔排序
数据结构·算法·排序算法