注意读题,发现一般的单链表删除需要知道被删除节点的上一个节点,然而本题中只给出了要删除的节点,并且提出了不会删除尾节点。
因此可知,可以使用将当前节点改为“上一个”节点的方法来做。即将节点值等于下一个节点的值,此时下一个节点就变成了可以删除的点。
class Solution {
public:
//int n;
void deleteNode(ListNode* node) {
if(node==NULL) return;
node->val=node->next->val;
node->next=node->next->next;
}
};