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

}

};

相关推荐
卿言卿语1 小时前
CC1-二叉树的最小深度
java·数据结构·算法·leetcode·职场和发展
仰泳的熊猫2 小时前
LeetCode:889. 根据前序和后序遍历构造二叉树
数据结构·c++·算法
Emilia486.2 小时前
【Leetcode&nowcode&数据结构】单链表的应用(初阶)
c语言·数据结构·算法·leetcode
仰泳的熊猫3 小时前
LeetCode:700. 二叉搜索树中的搜索
数据结构·c++·算法·leetcode
杰 .4 小时前
C++ Hash
数据结构·c++·哈希算法
韧竹、5 小时前
数据结构之单链表
数据结构·链表
And_Ii5 小时前
LeetCode 3350. 检测相邻递增子数组 II
数据结构·算法·leetcode
胖咕噜的稞达鸭5 小时前
C++中的父继子承(2)多继承菱形继承问题,多继承指针偏移,继承组合分析+高质量习题扫尾继承多态
c语言·开发语言·数据结构·c++·算法·链表·c#
冷月葬花~5 小时前
day24
数据结构·算法·leetcode
仰泳的熊猫6 小时前
LeetCode:538. 把二叉搜索树转换为累加树/1038. 从二叉搜索树到更大和树
数据结构·c++·算法·leetcode