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

}

};

相关推荐
YGGP2 小时前
吃透 Golang 基础:数据结构之 Map
开发语言·数据结构·golang
weixin_419658313 小时前
数据结构之栈
数据结构
图先3 小时前
数据结构第一章
数据结构
草莓熊Lotso5 小时前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
Andrew_Xzw6 小时前
数据结构与算法(快速基础C++版)
开发语言·数据结构·c++·python·深度学习·算法
超的小宝贝7 小时前
数据结构算法(C语言)
c语言·数据结构·算法
凤年徐9 小时前
【数据结构初阶】单链表
c语言·开发语言·数据结构·c++·经验分享·笔记·链表
闪电麦坤9514 小时前
数据结构:递归的种类(Types of Recursion)
数据结构·算法
小熊猫写算法er15 小时前
终极数据结构详解:从理论到实践
数据结构
-qOVOp-16 小时前
408第一季 - 数据结构 - 栈与队列的应用
数据结构