leetcode【链表】-----237. Delete Node in a Linked List(删除链表中节点)
1、题目描述

2、分析
题目要求删除链表中一个节点,在之前学习数据结构的时候,删除链表节点需要知道的是删除的点的前驱节点,但是这道题没有给出表头,所以没有办法找到前驱节点,所以需要做的是将当前节点变成前驱节点,这样在进行删除。也就是删除的是题目中给出的节点的下一个节点,所以就需要把下一个节点的值放入当前节点,这样的效果和删除当前节点是一样的。
3、代码
/**
* 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) {
node->val=node->next->val;
ListNode* temp=node->next;
node->next=temp->next;
delete temp;
}
};
4、相关知识点
链表的基础知识,学会将问题转化为学过的知识。

浙公网安备 33010602011771号