题目描述
思路
正常思路是找出要删除节点的上一个节点,然后改变节点的指针。但是题中只给出了要删除的节点,所以要把要删除的节点变为前一个节点,即把要删除的节点的值变为下一个节点的值,然后删除下一个节点。
代码
/**
* 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;
node -> next = node -> next -> next;
}
};