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

}

};

相关推荐
Love_云宝儿2 小时前
WKT数据示例并与GeoJSON数据对比
数据结构·gis
风筝在晴天搁浅2 小时前
快手 CodeTop LeetCode 224.基本计算器
数据结构·算法·leetcode
牢姐与蒯3 小时前
c++数据结构之c++11(一)
数据结构·c++
iiiiyu3 小时前
IO流(二)
java·开发语言·数据结构·编程语言
啦啦啦啦啦zzzz4 小时前
数据结构:平衡二叉树
数据结构·c++·二叉树
Ameilide6 小时前
数据结构 树 二叉树
数据结构
WWW65267 小时前
代码随想录 打卡第四十七天
数据结构·算法·leetcode
cpp_25017 小时前
P10722 [GESP202406 六级] 二叉树
数据结构·c++·算法·题解·洛谷·树形结构·gesp六级
c238567 小时前
map和set
数据结构·c++
小欣加油9 小时前
leetcode239 滑动窗口最大值
数据结构·c++·算法·leetcode·哈希算法