当只能访问一个节点时,如何删除这个节点

当只能访问该节点时,如何删除该节点

那就是鸠占鹊巢,将下一个结点的值和指向赋给当前节点,再删除下一个节点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
* 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) {
//令当前节点的下一节点
ListNode *temp = node->next;
//把下一个节点的所有信息赋给当前节点
node->val = temp ->val;
node->next = temp->next;
//删除下一个节点
delete temp;
temp=NULL;
}
};
-------------本文结束,感谢您的阅读-------------